implementing GNUNET_TESTING_get_peer_identity (addressing #2083)
[oweals/gnunet.git] / src / include / gnunet_mesh_service.h
index b9e95b46d3face617aea03024880ec2fc1f92a2a..b71c055b597a7057e6698748cdb544026a4a871a 100644 (file)
@@ -129,7 +129,9 @@ typedef void *(GNUNET_MESH_InboundTunnelNotificationHandler) (void *cls,
 
 /**
  * Function called whenever an inbound tunnel is destroyed.  Should clean up
- * any associated state.
+ * any associated state.  This function is NOT called if the client has
+ * explicitly asked for the tunnel to be destroyed using
+ * GNUNET_MESH_tunnel_destroy.
  *
  * @param cls closure (set from GNUNET_MESH_connect)
  * @param tunnel connection to the other end (henceforth invalid)
@@ -186,6 +188,10 @@ GNUNET_MESH_disconnect (struct GNUNET_MESH_Handle *handle);
 
 /**
  * Method called whenever a peer has disconnected from the tunnel.
+ * Implementations of this callback must NOT call
+ * GNUNET_MESH_tunnel_destroy immediately, but instead schedule those
+ * to run in some other task later.  However, calling 
+ * "GNUNET_MESH_notify_transmit_ready_cancel" is allowed.
  *
  * @param cls closure
  * @param peer peer identity the tunnel stopped working with
@@ -197,11 +203,12 @@ typedef void (*GNUNET_MESH_PeerDisconnectHandler) (void *cls,
 
 /**
  * Method called whenever a peer has connected to the tunnel.
- * TODO: change to typedef int? to let client allow the new peer or not
  *
  * @param cls closure
  * @param peer peer identity the tunnel was created to, NULL on timeout
  * @param atsi performance data for the connection
+ *
+ * TODO: change to return int to let client allow the new peer or not?
  */
 typedef void (*GNUNET_MESH_PeerConnectHandler) (void *cls,
                                                 const struct GNUNET_PeerIdentity