#include "transport.h"
+/**
+ * Set traffic metric to manipulate
+ *
+ * @param cls closure
+ * @param client client sending message
+ * @param message containing information
+ */
+
void
GST_manipulation_set_metric (void *cls, struct GNUNET_SERVER_Client *client,
const struct GNUNET_MessageHeader *message);
* manipulation delays for next send.
*
* @param cls the closure for transport
- * @param peer the peer the message was received from
+ * @param address the address and the peer the message was received from
* @param message the message received
* @param session the session the message was received on
- * @param sender_address the sender address
- * @param sender_address_len the length of the sender address
* @return manipulated delay for next receive
*/
struct GNUNET_TIME_Relative
GST_manipulation_recv (void *cls,
- const struct GNUNET_PeerIdentity *peer,
- const struct GNUNET_MessageHeader *message,
- struct Session *session,
- const char *sender_address,
- uint16_t sender_address_len);
+ const struct GNUNET_HELLO_Address *address,
+ struct Session *session,
+ const struct GNUNET_MessageHeader *message);
/**
* Function that will be called to manipulate ATS information according to
const struct GNUNET_ATS_Information *ats,
uint32_t ats_count);
+/**
+ * Notify manipulation about disconnect so it can discard queued messages
+ *
+ * @param peer the disconnecting peer
+ */
+void
+GST_manipulation_peer_disconnect (const struct GNUNET_PeerIdentity *peer);
+
/**
* Initialize traffic manipulation
*