X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fats%2Fgnunet-service-ats_performance.h;h=1a96c8819fca280a952096192a5d2f5d3902b958;hb=bfdb0abc074a99a7d24ca408f38cfda128d4132b;hp=c904ed3f060f5423b3a09a37ffb41e3f21b55482;hpb=f64e7ab9c26ccc0d0d32e7458745f2c70bffd352;p=oweals%2Fgnunet.git diff --git a/src/ats/gnunet-service-ats_performance.h b/src/ats/gnunet-service-ats_performance.h index c904ed3f0..1a96c8819 100644 --- a/src/ats/gnunet-service-ats_performance.h +++ b/src/ats/gnunet-service-ats_performance.h @@ -52,6 +52,21 @@ void GAS_performance_remove_client (struct GNUNET_SERVER_Client *client); +void +GAS_handle_performance_update (struct GNUNET_PeerIdentity *peer, + const char *plugin_name, + const void *plugin_addr, + size_t plugin_addr_len, + const int active, + struct GNUNET_ATS_Information *ats, + uint32_t ats_count, + struct GNUNET_BANDWIDTH_Value32NBO + bandwidth_out, + struct GNUNET_BANDWIDTH_Value32NBO + bandwidth_in); + + + /** * Transmit the given performance information to all performance * clients. @@ -60,6 +75,7 @@ GAS_performance_remove_client (struct GNUNET_SERVER_Client *client); * @param plugin_name 0-termintated string specifying the transport plugin * @param plugin_addr binary address for the plugin to use * @param plugin_addr_len number of bytes in plugin_addr + * @param active is this address active * @param atsi performance data for the address * @param atsi_count number of performance records in 'ats' * @param bandwidth_out assigned outbound bandwidth @@ -69,6 +85,7 @@ void GAS_performance_notify_all_clients (const struct GNUNET_PeerIdentity *peer, const char *plugin_name, const void *plugin_addr, size_t plugin_addr_len, + const int active, const struct GNUNET_ATS_Information *atsi, uint32_t atsi_count, struct GNUNET_BANDWIDTH_Value32NBO @@ -85,7 +102,8 @@ GAS_performance_notify_all_clients (const struct GNUNET_PeerIdentity *peer, * @param message the request message */ void -GAS_handle_request_address_list (void *cls, struct GNUNET_SERVER_Client *client, +GAS_handle_request_address_list (void *cls, + struct GNUNET_SERVER_Client *client, const struct GNUNET_MessageHeader *message); /** @@ -96,7 +114,8 @@ GAS_handle_request_address_list (void *cls, struct GNUNET_SERVER_Client *client, * @param message the request message */ void -GAS_handle_reservation_request (void *cls, struct GNUNET_SERVER_Client *client, +GAS_handle_reservation_request (void *cls, + struct GNUNET_SERVER_Client *client, const struct GNUNET_MessageHeader *message); @@ -108,17 +127,38 @@ GAS_handle_reservation_request (void *cls, struct GNUNET_SERVER_Client *client, * @param message the request message */ void -GAS_handle_preference_change (void *cls, struct GNUNET_SERVER_Client *client, +GAS_handle_preference_change (void *cls, + struct GNUNET_SERVER_Client *client, + const struct GNUNET_MessageHeader *message); + + +/** + * Handle 'preference feedback' messages from clients. + * + * @param cls unused, NULL + * @param client client that sent the request + * @param message the request message + */ +void +GAS_handle_preference_feedback (void *cls, + struct GNUNET_SERVER_Client *client, const struct GNUNET_MessageHeader *message); +void +GAS_handle_monitor (void *cls, + struct GNUNET_SERVER_Client *client, + const struct GNUNET_MessageHeader *message); + /** * Initialize performance subsystem. * * @param server handle to our server + * @param addresses the address handle to use */ void -GAS_performance_init (struct GNUNET_SERVER_Handle *server); +GAS_performance_init (struct GNUNET_SERVER_Handle *server, + struct GAS_Addresses_Handle *GSA_addresses); /**