*/
uint32_t session_id;
+ uint32_t local_address_info;
+
/**
* Address
*/
};
+/**
+ * Handle for ATS address component
+ */
+struct GAS_Addresses_Handle;
/**
* Initialize address subsystem. The addresses subsystem manages the addresses
* @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.
* @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 ...)
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);
/**
* @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_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);
/**
* @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