#ifndef GNUNET_SERVICE_TRANSPORT_H
#define GNUNET_SERVICE_TRANSPORT_H
+#include "gnunet_util_lib.h"
#include "gnunet_statistics_service.h"
#include "gnunet_transport_service.h"
-#include "gnunet_util_lib.h"
#define VERBOSE_VALIDATION GNUNET_YES
*/
extern struct GNUNET_PEERINFO_Handle *GST_peerinfo;
-/**
- * Our public key.
- */
-extern struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded GST_my_public_key;
-
/**
* Our private key.
*/
* @param peer (claimed) identity of the other peer
* @param message the message, NULL if we only care about
* learning about the delay until we should receive again -- FIXME!
- * @param ats performance information
- * @param ats_count number of records in ats
* @param session identifier used for this session (NULL for plugins
* that do not offer bi-directional communication to the sender
* using the same "connection")
* (plugins that do not support this, can ignore the return value)
*/
struct GNUNET_TIME_Relative
-GST_receive_callback (void *cls, const struct GNUNET_PeerIdentity *peer,
- const struct GNUNET_MessageHeader *message,
- const struct GNUNET_ATS_Information *ats,
- uint32_t ats_count, struct Session *session,
- const char *sender_address,
- uint16_t sender_address_len);
+GST_receive_callback (void *cls,
+ const struct GNUNET_PeerIdentity *peer,
+ const struct GNUNET_MessageHeader *message,
+ struct Session *session,
+ const char *sender_address,
+ uint16_t sender_address_len);
+
+
+/**
+ * Notify ATS about the new address including the network this address is
+ * located in.
+ *
+ * @param address the address
+ * @param session the session
+ */
+void
+GST_ats_add_address (const struct GNUNET_HELLO_Address *address,
+ struct Session *session);
+
+/**
+ * Notify ATS about property changes to an address
+ *
+ * @param peer the peer
+ * @param address the address
+ * @param session the session
+ * @param ats performance information
+ * @param ats_count number of elements in ats
+ */
+void
+GST_ats_update_metrics (const struct GNUNET_PeerIdentity *peer,
+ const struct GNUNET_HELLO_Address *address,
+ struct Session *session,
+ const struct GNUNET_ATS_Information *ats,
+ uint32_t ats_count);
#endif
/* end of file gnunet-service-transport_plugins.h */