[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r29626 - gnunet/src/ats
From: |
gnunet |
Subject: |
[GNUnet-SVN] r29626 - gnunet/src/ats |
Date: |
Thu, 26 Sep 2013 17:39:03 +0200 |
Author: wachs
Date: 2013-09-26 17:39:03 +0200 (Thu, 26 Sep 2013)
New Revision: 29626
Modified:
gnunet/src/ats/gnunet-service-ats-solver_mlp.h
Log:
indent + exclude peer
Modified: gnunet/src/ats/gnunet-service-ats-solver_mlp.h
===================================================================
--- gnunet/src/ats/gnunet-service-ats-solver_mlp.h 2013-09-26 15:37:17 UTC
(rev 29625)
+++ gnunet/src/ats/gnunet-service-ats-solver_mlp.h 2013-09-26 15:39:03 UTC
(rev 29626)
@@ -1,22 +1,21 @@
/*
- This file is part of GNUnet.
- (C) 2011 Christian Grothoff (and other contributing authors)
+ (C) 2011 Christian Grothoff (and other contributing authors)
- GNUnet is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your
- option) any later version.
+ GNUnet is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
- GNUnet is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ GNUnet is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-*/
+ You should have received a copy of the GNU General Public License
+ along with GNUnet; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+ */
/**
* @file ats/gnunet-service-ats-solver_mlp.h
@@ -54,33 +53,32 @@
#define GLP_YES 1.0
#define GLP_NO 0.0
-
struct MLP_Solution
{
- struct GNUNET_TIME_Relative build_dur;
- struct GNUNET_TIME_Relative lp_dur;
- struct GNUNET_TIME_Relative mip_dur;
+ struct GNUNET_TIME_Relative build_dur;
+ struct GNUNET_TIME_Relative lp_dur;
+ struct GNUNET_TIME_Relative mip_dur;
- int lp_res;
- int lp_presolv;
- int mip_res;
- int mip_presolv;
+ int lp_res;
+ int lp_presolv;
+ int mip_res;
+ int mip_presolv;
- int p_elements;
- int p_cols;
- int p_rows;
+ int p_elements;
+ int p_cols;
+ int p_rows;
- int n_peers;
- int n_addresses;
+ int n_peers;
+ int n_addresses;
};
struct ATS_Peer
{
- struct GNUNET_PeerIdentity id;
+ struct GNUNET_PeerIdentity id;
- /* Was this peer already added to the current problem? */
- int processed;
+ /* Was this peer already added to the current problem? */
+ int processed;
/* constraint 2: 1 address per peer*/
unsigned int r_c2;
@@ -92,8 +90,6 @@
double f;
};
-
-
struct MLP_Problem
{
/**
@@ -150,7 +146,7 @@
struct MLP_Variables
{
- /* Big M value for bandwidth capping */
+ /* Big M value for bandwidth capping */
double BIG_M;
/* ATS Quality metrics
@@ -188,7 +184,7 @@
/* Quotas */
/* Array mapping array index to ATS network */
- int quota_index [GNUNET_ATS_NetworkTypeCount];
+ int quota_index[GNUNET_ATS_NetworkTypeCount];
/* Outbound quotas */
unsigned long long quota_out[GNUNET_ATS_NetworkTypeCount];
/* Inbound quotas */
@@ -203,7 +199,6 @@
};
-
/**
* MLP Handle
*/
@@ -229,8 +224,6 @@
*/
void *bw_changed_cb_cls;
-
-
/**
* ATS function to get preferences
*/
@@ -251,10 +244,24 @@
*/
void *get_properties_cls;
+ /**
+ * Exclude peer from next result propagation
+ */
+ const struct GNUNET_PeerIdentity *exclude_peer;
+
+ /**
+ * Encapsulation for the MLP problem
+ */
struct MLP_Problem p;
+ /**
+ * Encapsulation for the MLP problem variables
+ */
struct MLP_Variables pv;
+ /**
+ * Encapsulation for the MLP solution
+ */
struct MLP_Solution ps;
/**
@@ -320,14 +327,13 @@
};
-
/**
* Address specific MLP information
*/
struct MLP_information
{
- /* Bandwidth assigned */
+ /* Bandwidth assigned */
struct GNUNET_BANDWIDTH_Value32NBO b_out;
struct GNUNET_BANDWIDTH_Value32NBO b_in;
@@ -358,7 +364,6 @@
int
GAS_mlp_solve_problem (void *solver);
-
/**
* Init the MLP problem solving component
*
@@ -378,20 +383,13 @@
*/
void *
GAS_mlp_init (const struct GNUNET_CONFIGURATION_Handle *cfg,
- const struct GNUNET_STATISTICS_Handle *stats,
- const struct GNUNET_CONTAINER_MultiHashMap *addresses,
- int *network,
- unsigned long long *out_dest,
- unsigned long long *in_dest,
- int dest_length,
- GAS_bandwidth_changed_cb bw_changed_cb,
- void *bw_changed_cb_cls,
- GAS_get_preferences get_preference,
- void *get_preference_cls,
- GAS_get_properties get_properties,
- void *get_properties_cls);
+ const struct GNUNET_STATISTICS_Handle *stats,
+ const struct GNUNET_CONTAINER_MultiHashMap *addresses, int *network,
+ unsigned long long *out_dest, unsigned long long *in_dest, int dest_length,
+ GAS_bandwidth_changed_cb bw_changed_cb, void *bw_changed_cb_cls,
+ GAS_get_preferences get_preference, void *get_preference_cls,
+ GAS_get_properties get_properties, void *get_properties_cls);
-
/**
* Add a single address within a network to the solver
*
@@ -400,11 +398,9 @@
* @param network network type of this address
*/
void
-GAS_mlp_address_add (void *solver,
-
struct ATS_Address *address,
-
uint32_t network);
+GAS_mlp_address_add (void *solver, struct ATS_Address *address,
+ uint32_t network);
-
/**
* Transport properties for this address have changed
*
@@ -415,13 +411,9 @@
* @param rel_value the normalized value
*/
void
-GAS_mlp_address_property_changed (void *solver,
-
struct ATS_Address *address,
-
uint32_t type,
-
uint32_t abs_value,
-
double rel_value);
+GAS_mlp_address_property_changed (void *solver, struct ATS_Address *address,
+ uint32_t type, uint32_t abs_value, double rel_value);
-
/**
* Transport session for this address has changed
*
@@ -433,12 +425,9 @@
* @param new_session the new session
*/
void
-GAS_mlp_address_session_changed (void *solver,
-
struct ATS_Address *address,
-
uint32_t cur_session,
-
uint32_t new_session);
+GAS_mlp_address_session_changed (void *solver, struct ATS_Address *address,
+ uint32_t cur_session, uint32_t new_session);
-
/**
* Usage for this address has changed
*
@@ -449,11 +438,9 @@
* @param in_use usage state
*/
void
-GAS_mlp_address_inuse_changed (void *solver,
-
struct ATS_Address *address,
-
int in_use);
+GAS_mlp_address_inuse_changed (void *solver, struct ATS_Address *address,
+ int in_use);
-
/**
* Network scope for this address has changed
*
@@ -465,10 +452,8 @@
* @param new_network the new network
*/
void
-GAS_mlp_address_change_network (void *solver,
-
struct ATS_Address *address,
-
uint32_t current_network,
-
uint32_t new_network);
+GAS_mlp_address_change_network (void *solver, struct ATS_Address *address,
+ uint32_t current_network, uint32_t new_network);
/**
* Deletes a single address in the MLP problem
@@ -480,11 +465,9 @@
* @param session_only delete only session not whole address
*/
void
-GAS_mlp_address_delete (void *solver,
- struct ATS_Address *address,
- int session_only);
+GAS_mlp_address_delete (void *solver, struct ATS_Address *address,
+ int session_only);
-
/**
* Changes the preferences for a peer in the MLP problem
*
@@ -495,11 +478,9 @@
*/
void
GAS_mlp_address_change_preference (void *solver,
- const struct
GNUNET_PeerIdentity *peer,
- enum
GNUNET_ATS_PreferenceKind kind,
- double
pref_rel);
+ const struct GNUNET_PeerIdentity *peer, enum GNUNET_ATS_PreferenceKind
kind,
+ double pref_rel);
-
/**
* Get application feedback for a peer
*
@@ -511,15 +492,11 @@
* @param score the score
*/
void
-GAS_mlp_address_preference_feedback (void *solver,
-
void *application,
-
const struct GNUNET_PeerIdentity *peer,
-
const struct GNUNET_TIME_Relative scope,
-
enum GNUNET_ATS_PreferenceKind kind,
-
double score);
+GAS_mlp_address_preference_feedback (void *solver, void *application,
+ const struct GNUNET_PeerIdentity *peer,
+ const struct GNUNET_TIME_Relative scope,
+ enum GNUNET_ATS_PreferenceKind kind, double score);
-
-
/**
* Start a bulk operation
*
@@ -528,14 +505,12 @@
void
GAS_mlp_bulk_start (void *solver);
-
/**
* Bulk operation done
*/
void
GAS_mlp_bulk_stop (void *solver);
-
/**
* Get the preferred address for a specific peer until
* GAS_mlp_stop_get_preferred_address is called
@@ -546,9 +521,8 @@
*/
const struct ATS_Address *
GAS_mlp_get_preferred_address (void *solver,
- const struct GNUNET_PeerIdentity *peer);
+ const struct GNUNET_PeerIdentity *peer);
-
/**
* Stop notifying about address and bandwidth changes for this peer
*
@@ -557,9 +531,8 @@
*/
void
GAS_mlp_stop_get_preferred_address (void *solver,
- const struct GNUNET_PeerIdentity *peer);
+ const struct GNUNET_PeerIdentity *peer);
-
/**
* Shutdown the MLP problem solving component
*
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r29626 - gnunet/src/ats,
gnunet <=