#include "gnunet_statistics_service.h"
#include "gnunet_transport_service.h"
+#include "gnunet_transport_plugin.h"
#include "gnunet_util_lib.h"
// TODO:
*
* @param target destination
* @param msg message to send
+ * @param msg_size number of bytes in msg
* @param timeout when to fail with timeout
* @param cont function to call when done
* @param cont_cls closure for 'cont'
*/
void
GST_neighbours_send (const struct GNUNET_PeerIdentity *target,
- const struct GNUNET_MessageHeader *msg,
+ const void *msg,
+ size_t msg_size,
struct GNUNET_TIME_Relative timeout,
GST_NeighbourSendContinuation cont,
void *cont_cls);
/**
- * We have received a PONG. Update lifeness of the neighbour.
+ * We have received a CONNECT. Set the peer to connected.
*
* @param sender peer sending the PONG
* @param hdr the PONG message (presumably)
* @return GNUNET_OK if the message was well-formed, GNUNET_SYSERR if not
*/
int
-GST_neighbours_handle_pong (const struct GNUNET_PeerIdentity *sender,
- const struct GNUNET_MessageHeader *hdr,
- const char *plugin_name,
- const void *sender_address,
- size_t sender_address_len,
- const struct GNUNET_TRANSPORT_ATS_Information *ats,
- uint32_t ats_count);
+GST_neighbours_handle_connect (const struct GNUNET_PeerIdentity *sender,
+ const struct GNUNET_MessageHeader *hdr,
+ const char *plugin_name,
+ const void *sender_address,
+ size_t sender_address_len,
+ struct Session *session,
+ const struct GNUNET_TRANSPORT_ATS_Information *ats,
+ uint32_t ats_count);
/**
- * We have received a CONNECT. Set the peer to connected.
+ * For an existing neighbour record, set the active connection to
+ * the given address.
*
- * @param sender peer sending the PONG
- * @param hdr the PONG message (presumably)
* @param plugin_name name of transport that delivered the PONG
- * @param sender_address address of the other peer, NULL if other peer
+ * @param address address of the other peer, NULL if other peer
* connected to us
- * @param sender_address_len number of bytes in sender_address
+ * @param address_len number of bytes in address
* @param ats performance data
* @param ats_count number of entries in ats (excluding 0-termination)
- * @return GNUNET_OK if the message was well-formed, GNUNET_SYSERR if not
*/
-int
-GST_neighbours_handle_connect (const struct GNUNET_PeerIdentity *sender,
- const struct GNUNET_MessageHeader *hdr,
- const char *plugin_name,
- const void *sender_address,
- size_t sender_address_len,
- const struct GNUNET_TRANSPORT_ATS_Information *ats,
- uint32_t ats_count);
+void
+GST_neighbours_switch_to_address (const struct GNUNET_PeerIdentity *peer,
+ const char *plugin_name,
+ const void *address,
+ size_t address_len,
+ struct Session *session,
+ const struct GNUNET_TRANSPORT_ATS_Information *ats,
+ uint32_t ats_count);
/**