GNUnet  0.19.5
gnunet_ats_plugin.h File Reference

API for the ATS solvers. More...

Include dependency graph for gnunet_ats_plugin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  GNUNET_ATS_SolverFunctions
 Solver functions. More...
 
struct  GNUNET_ATS_PluginEnvironment
 The ATS plugin will pass a pointer to a struct of this type as to the initialization function of the ATS plugins. More...
 

Typedefs

typedef 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. More...
 
typedef 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. More...
 
typedef void(* GAS_solver_bulk_start) (void *solver)
 Notify the solver about a bulk operation changing possibly a lot of values Solver will not resolve until all bulk operations are marked as done. More...
 
typedef void(* GAS_solver_bulk_stop) (void *solver)
 Mark a bulk operation as done Solver will resolve if values have changed. More...
 
typedef void(* GAS_solver_address_add) (void *solver, struct ATS_Address *address, uint32_t network)
 Add a single address within a network to the solver. More...
 
typedef void(* GAS_solver_address_delete) (void *solver, struct ATS_Address *address)
 Delete an address or just the session from the solver. More...
 
typedef void(* GAS_solver_address_property_changed) (void *solver, struct ATS_Address *address)
 Transport properties for this address have changed. More...
 
typedef void(* GAS_solver_get_preferred_address) (void *solver, const struct GNUNET_PeerIdentity *peer)
 Get the preferred address for a peer from solver. More...
 
typedef void(* GAS_solver_stop_get_preferred_address) (void *solver, const struct GNUNET_PeerIdentity *peer)
 Stop getting the preferred address for a peer from solver. More...
 
typedef 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. More...
 
typedef void(* GAS_bandwidth_changed_cb) (void *cls, struct ATS_Address *address)
 Callback to call from solver when bandwidth for address has changed. More...
 
typedef 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. More...
 
typedef 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. More...
 

Enumerations

enum  GAS_Solver_Operation {
  GAS_OP_SOLVE_START , GAS_OP_SOLVE_STOP , GAS_OP_SOLVE_SETUP_START , GAS_OP_SOLVE_SETUP_STOP ,
  GAS_OP_SOLVE_MLP_LP_START , GAS_OP_SOLVE_MLP_LP_STOP , GAS_OP_SOLVE_MLP_MLP_START , GAS_OP_SOLVE_MLP_MLP_STOP ,
  GAS_OP_SOLVE_UPDATE_NOTIFICATION_START , GAS_OP_SOLVE_UPDATE_NOTIFICATION_STOP
}
 Operation codes for solver information callback. More...
 
enum  GAS_Solver_Status { GAS_STAT_SUCCESS , GAS_STAT_FAIL }
 Status of a GAS_Solver_Operation operation. More...
 
enum  GAS_Solver_Additional_Information {
  GAS_INFO_NONE , GAS_INFO_FULL , GAS_INFO_UPDATED , GAS_INFO_PROP_SINGLE ,
  GAS_INFO_PROP_ALL
}
 Status of the operation. More...
 

Detailed Description

API for the ATS solvers.

Definition in file gnunet_ats_plugin.h.