402 typedef const double *
403 (*GAS_get_preferences) (
void *cls,
static struct GNUNET_ARM_Operation * op
Current operation.
static char * address
GNS address for this phone.
static struct GNUNET_IDENTITY_Handle * id
Handle to identity service.
Automatic transport selection and outbound bandwidth determination.
API to create, modify and access statistics.
void(* GAS_solver_address_change_preference)(void *solver, const struct GNUNET_PeerIdentity *peer, enum GNUNET_ATS_PreferenceKind kind, double pref_rel)
Change the preference for a peer.
void(* GAS_solver_address_feedback_preference)(void *solver, struct GNUNET_SERVICE_Client *application, const struct GNUNET_PeerIdentity *peer, const struct GNUNET_TIME_Relative scope, enum GNUNET_ATS_PreferenceKind kind, double score)
Give feedback about the current assignment.
void(* GAS_solver_address_delete)(void *solver, struct ATS_Address *address)
Delete an address or just the session from the solver.
void(* GAS_solver_bulk_start)(void *solver)
Notify the solver about a bulk operation changing possibly a lot of values Solver will not resolve un...
void(* GAS_solver_address_property_changed)(void *solver, struct ATS_Address *address)
Transport properties for this address have changed.
void(* GAS_solver_information_callback)(void *cls, enum GAS_Solver_Operation op, enum GAS_Solver_Status stat, enum GAS_Solver_Additional_Information)
Callback to call with additional information Used for measurement.
void(* GAS_solver_address_add)(void *solver, struct ATS_Address *address, uint32_t network)
Add a single address within a network to the solver.
void(* GAS_bandwidth_changed_cb)(void *cls, struct ATS_Address *address)
Callback to call from solver when bandwidth for address has changed.
GAS_Solver_Status
Status of a GAS_Solver_Operation operation.
const double *(* GAS_get_preferences)(void *cls, const struct GNUNET_PeerIdentity *id)
Callback to call from solver to obtain application preference values for a peer.
unsigned int(* GAS_get_connectivity)(void *cls, const struct GNUNET_PeerIdentity *id)
Callback to call from solver to obtain application connectivity preferences for a peer.
GAS_Solver_Operation
Operation codes for solver information callback.
void(* GAS_solver_get_preferred_address)(void *solver, const struct GNUNET_PeerIdentity *peer)
Get the preferred address for a peer from solver.
void(* GAS_solver_bulk_stop)(void *solver)
Mark a bulk operation as done Solver will resolve if values have changed.
void(* GAS_solver_stop_get_preferred_address)(void *solver, const struct GNUNET_PeerIdentity *peer)
Stop getting the preferred address for a peer from solver.
GAS_Solver_Additional_Information
Status of the operation.
@ GAS_STAT_SUCCESS
Success.
@ GAS_OP_SOLVE_UPDATE_NOTIFICATION_START
After the problem was finished, start notifications about changes to addresses.
@ GAS_OP_SOLVE_MLP_LP_STOP
Solving of the LP problem is done MLP solver only.
@ GAS_OP_SOLVE_START
A solution iteration has been started.
@ GAS_OP_SOLVE_UPDATE_NOTIFICATION_STOP
After the problem was finished, notifications about changes to addresses are done.
@ GAS_OP_SOLVE_MLP_LP_START
Solving of the LP problem was started MLP solver only.
@ GAS_OP_SOLVE_SETUP_STOP
The setup of the problem as a preparation to solve is finished.
@ GAS_OP_SOLVE_MLP_MLP_STOP
Solving of the MLP problem is done MLP solver only.
@ GAS_OP_SOLVE_SETUP_START
The setup of the problem as a preparation to solve it was started.
@ GAS_OP_SOLVE_MLP_MLP_START
Solving of the MLP problem was started MLP solver only.
@ GAS_OP_SOLVE_STOP
A solution iteration has been finished.
@ GAS_INFO_PROP_ALL
The proportional solver had to recalculate for all networks.
@ GAS_INFO_PROP_SINGLE
The proportional solver had to recalculate for a single network.
@ GAS_INFO_UPDATED
An existing solution was reused Quite specific to the MLP solver.
@ GAS_INFO_NONE
No more specific information.
@ GAS_INFO_FULL
A full solution process is performed Quite specific to the MLP solver.
GNUNET_ATS_PreferenceKind
Enum defining all known preference categories.
static enum GNUNET_NetworkType scope
Which network scope do we belong to?
Address with additional information.
The ATS plugin will pass a pointer to a struct of this type as to the initialization function of the ...
void * cls
Closure to pass to all callbacks in this struct.
GAS_solver_information_callback info_cb
Callback for solver to call with status information, can be NULL.
GAS_get_preferences get_preferences
ATS addresses function to obtain preference values.
unsigned long long in_quota[6]
Array of configured inbound quotas Order according to networks in network array.
struct GNUNET_CONTAINER_MultiPeerMap * addresses
Hashmap containing all addresses available.
const struct GNUNET_CONFIGURATION_Handle * cfg
Configuration handle to be used by the solver.
GAS_get_connectivity get_connectivity
ATS addresses function to obtain preference values.
unsigned int network_count
Number of networks available, size of the out_quota and in_quota arrays.
GAS_bandwidth_changed_cb bandwidth_changed_cb
ATS addresses callback to be notified about bandwidth assignment changes.
struct GNUNET_STATISTICS_Handle * stats
Statistics handle to be used by the solver.
unsigned long long out_quota[6]
Array of configured outbound quotas Order according to networks in network array.
GAS_solver_address_feedback_preference s_feedback
Give feedback about the current assignment.
GAS_solver_address_property_changed s_address_update_property
Update the properties of an address in the solver.
GAS_solver_address_add s_add
Add a new address for a peer to the solver.
void * cls
Closure to pass to all solver functions in this struct.
GAS_solver_bulk_start s_bulk_start
Start a bulk operation.
GAS_solver_get_preferred_address s_get
Tell solver to notify ATS if the address to use changes for a specific peer using the bandwidth chang...
GAS_solver_bulk_stop s_bulk_stop
Bulk operation done.
GAS_solver_address_change_preference s_pref
Change relative preference for quality in solver.
GAS_solver_stop_get_preferred_address s_get_stop
Tell solver stop notifying ATS about changes for this peers.
GAS_solver_address_delete s_del
Delete an address in the solver.
Internal representation of the hash map.
The identity of the host (wraps the signing key of the peer).
Handle to a client that is connected to a service.
Time for relative time used by GNUnet, in microseconds.
struct GNUNET_TESTBED_Peer * peer
The peer associated with this model.