X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fats%2Fgnunet-service-ats_addresses.h;h=aa0b919ea477f8d47f2f4d03161866ea82861415;hb=4e1baae59f18ee5d7cd47afe28ced3daaaa5a5ad;hp=887eeee812566ef74492a5069c28d0a430be8805;hpb=f2554d328813646fe2bf6771ea269578b9961622;p=oweals%2Fgnunet.git diff --git a/src/ats/gnunet-service-ats_addresses.h b/src/ats/gnunet-service-ats_addresses.h index 887eeee81..aa0b919ea 100644 --- a/src/ats/gnunet-service-ats_addresses.h +++ b/src/ats/gnunet-service-ats_addresses.h @@ -312,6 +312,8 @@ struct ATS_Address */ uint32_t session_id; + uint32_t local_address_info; + /** * Address */ @@ -362,6 +364,16 @@ struct ATS_Address */ struct GNUNET_TIME_Absolute blocked_until; + /** + * Time when address had last activity (update, in uses) + */ + struct GNUNET_TIME_Absolute t_last_activity; + + /** + * Time when address was added + */ + struct GNUNET_TIME_Absolute t_added; + /** * Is this the active address for this peer? */ @@ -380,6 +392,10 @@ struct ATS_Address }; +/** + * Handle for ATS address component + */ +struct GAS_Addresses_Handle; /** * Initialize address subsystem. The addresses subsystem manages the addresses @@ -411,15 +427,21 @@ GAS_addresses_done (struct GAS_Addresses_Handle *handle); * @param plugin_name transport plugin name * @param plugin_addr plugin address * @param plugin_addr_len length of the plugin address + * @param local_address_info the local address for the address * @param session_id session id, can be 0 * @param atsi performance information for this address * @param atsi_count number of performance information contained */ void GAS_addresses_add (struct GAS_Addresses_Handle *handle, - const struct GNUNET_PeerIdentity *peer, const char *plugin_name, - const void *plugin_addr, size_t plugin_addr_len, uint32_t session_id, - const struct GNUNET_ATS_Information *atsi, uint32_t atsi_count); + const struct GNUNET_PeerIdentity *peer, + const char *plugin_name, + const void *plugin_addr, + size_t plugin_addr_len, + uint32_t local_address_info, + uint32_t session_id, + const struct GNUNET_ATS_Information *atsi, + uint32_t atsi_count); /** * Notification about active use of an address. @@ -436,6 +458,7 @@ GAS_addresses_add (struct GAS_Addresses_Handle *handle, * @param plugin_name transport plugin name * @param plugin_addr plugin address * @param plugin_addr_len length of the plugin address + * @param local_address_info the local address for the address * @param session_id session id, can be 0 * @param in_use GNUNET_YES if GNUNET_NO * @return GNUNET_SYSERR on failure (address unknown ...) @@ -443,7 +466,9 @@ GAS_addresses_add (struct GAS_Addresses_Handle *handle, int GAS_addresses_in_use (struct GAS_Addresses_Handle *handle, const struct GNUNET_PeerIdentity *peer, const char *plugin_name, - const void *plugin_addr, size_t plugin_addr_len, uint32_t session_id, + const void *plugin_addr, size_t plugin_addr_len, + uint32_t local_address_info, + uint32_t session_id, int in_use); /** @@ -457,6 +482,7 @@ GAS_addresses_in_use (struct GAS_Addresses_Handle *handle, * @param plugin_name transport plugin name * @param plugin_addr plugin address * @param plugin_addr_len length of the plugin address + * @param local_address_info the local address for the address * @param session_id session id, can be 0 * @param atsi performance information for this address * @param atsi_count number of performance information contained @@ -464,7 +490,8 @@ GAS_addresses_in_use (struct GAS_Addresses_Handle *handle, void GAS_addresses_update (struct GAS_Addresses_Handle *handle, const struct GNUNET_PeerIdentity *peer, const char *plugin_name, - const void *plugin_addr, size_t plugin_addr_len, uint32_t session_id, + const void *plugin_addr, size_t plugin_addr_len, + uint32_t local_address_info, uint32_t session_id, const struct GNUNET_ATS_Information *atsi, uint32_t atsi_count); /** @@ -476,11 +503,13 @@ GAS_addresses_update (struct GAS_Addresses_Handle *handle, * @param plugin_addr plugin address * @param plugin_addr_len length of the plugin address * @param session_id session id, can be 0 + * @param local_address_info the local address for the address */ void GAS_addresses_destroy (struct GAS_Addresses_Handle *handle, const struct GNUNET_PeerIdentity *peer, const char *plugin_name, - const void *plugin_addr, size_t plugin_addr_len, uint32_t session_id); + const void *plugin_addr, size_t plugin_addr_len, + uint32_t local_address_info, uint32_t session_id); /** * Remove all addresses