switch api
[oweals/gnunet.git] / src / transport / gnunet-service-transport_neighbours.h
index 8ccf3cb67ab1340e8b654b29223d49b1d0fd18ca..8c038ef20452caf0892968f24ffe80f056bf1ae3 100644 (file)
@@ -90,13 +90,15 @@ typedef void (*GST_NeighbourSendContinuation)(void *cls,
  *
  * @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);
@@ -170,6 +172,27 @@ GST_neighbours_handle_connect (const struct GNUNET_PeerIdentity *sender,
                               uint32_t ats_count);
 
 
+/**
+ * For an existing neighbour record, set the active connection to
+ * the given address.
+ *
+ * @param plugin_name name of transport that delivered the PONG
+ * @param address address of the other peer, NULL if other peer
+ *                       connected to us
+ * @param address_len number of bytes in address
+ * @param ats performance data
+ * @param ats_count number of entries in ats (excluding 0-termination)
+ */
+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);
+
+
 /**
  * We have received a DISCONNECT.  Set the peer to disconnected.
  *