#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.
*/
-extern struct GNUNET_CRYPTO_EccPrivateKey *GST_my_private_key;
+extern struct GNUNET_CRYPTO_EddsaPrivateKey *GST_my_private_key;
/**
* ATS handle.
* (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,
- 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_update_ats_metrics (struct GNUNET_PeerIdentity *peer,
- struct GNUNET_HELLO_Address *address,
- struct Session *session,
- struct GNUNET_ATS_Information *ats,
- uint32_t ats_count);
+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 */