sender,
const struct GNUNET_MessageHeader *
message,
- const struct
- GNUNET_ATS_Information *
- atsi);
+ const struct GNUNET_ATS_Information
+ * atsi);
/**
/**
* 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)
/**
* 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
/**
* 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
* peer,
const struct
- GNUNET_ATS_Information
- * atsi);
+ GNUNET_ATS_Information * atsi);