GNUNET_ATS_scheduling_done (struct GNUNET_ATS_SchedulingHandle *sh);
+/**
+ * We would like to reset the address suggestion block time for this
+ * peer
+ *
+ * @param sh handle
+ * @param peer identity of the peer we want to reset
+ */
+void
+GNUNET_ATS_reset_backoff (struct GNUNET_ATS_SchedulingHandle *sh,
+ const struct GNUNET_PeerIdentity *peer);
+
/**
* We would like to establish a new connection with a peer. ATS
* should suggest a good address to begin with.
* @param addrlen address length
* @return location as GNUNET_ATS_Information
*/
-const struct GNUNET_ATS_Information
+struct GNUNET_ATS_Information
GNUNET_ATS_address_get_type (struct GNUNET_ATS_SchedulingHandle *sh,
const struct sockaddr * addr,
socklen_t addrlen);
+/**
+ * We have a new address ATS should know. Addresses have to be added with this
+ * function before they can be: updated, set in use and destroyed
+ *
+ * @param sh handle
+ * @param address the address
+ * @param session session handle (if available)
+ * @param ats performance data for the address
+ * @param ats_count number of performance records in 'ats'
+ */
+int
+GNUNET_ATS_address_add (struct GNUNET_ATS_SchedulingHandle *sh,
+ const struct GNUNET_HELLO_Address *address,
+ struct Session *session,
+ const struct GNUNET_ATS_Information *ats,
+ uint32_t ats_count);
+
/**
* We have updated performance statistics for a given address. Note
const struct GNUNET_HELLO_Address *address,
struct Session *session, int in_use);
+
/**
* A session got destroyed, stop including it as a valid address.
*