- start test only after warmup
[oweals/gnunet.git] / src / mesh / gnunet-service-mesh_channel.h
index 66b203192d3cc8f9c464cfd258cf6e47c2134fa0..e1d5d4876ab7b757806941290b2a0c151b9eed4e 100644 (file)
@@ -54,11 +54,20 @@ struct MeshChannel;
 
 
 /**
- * Get channel ID.
+ * Destroy a channel and free all resources.
+ *
+ * @param ch Channel to destroy.
+ */
+void
+GMCH_destroy (struct MeshChannel *ch);
+
+
+/**
+ * Get the channel's public ID.
  *
  * @param ch Channel.
  *
- * @return ID
+ * @return ID used to identify the channel with the remote peer.
  */
 MESH_ChannelNumber
 GMCH_get_id (const struct MeshChannel *ch);
@@ -138,14 +147,6 @@ GMCH_send_data_ack (struct MeshChannel *ch, int fwd);
 void
 GMCH_send_create (struct MeshChannel *ch);
 
-/**
- * Notify a client that the channel is no longer valid.
- *
- * @param ch Channel that is destroyed.
- */
-void
-GMCH_send_destroy (struct MeshChannel *ch);
-
 /**
  * Allow a client to send us more data, in case it was choked.
  *
@@ -201,10 +202,12 @@ GMCH_handle_local_data (struct MeshChannel *ch,
  *
  * @param ch Channel.
  * @param c Client that requested the destruction (to avoid notifying him).
+ * @param is_root Is the request coming from root?
  */
 void
 GMCH_handle_local_destroy (struct MeshChannel *ch,
-                           struct MeshClient *c);
+                           struct MeshClient *c,
+                           int is_root);
 
 /**
  * Handle a channel create requested by a client.
@@ -311,15 +314,17 @@ GMCH_handle_destroy (struct MeshChannel *ch,
  * On a normal channel passes the message to the tunnel for encryption and
  * sending on a connection.
  *
+ * This function DOES NOT save the message for retransmission.
+ *
  * @param message Message to send. Function makes a copy of it.
  * @param ch Channel on which this message is transmitted.
  * @param fwd Is this a fwd message?
- * @param retransmission Is this a retransmission? (Don't save a copy)
+ * @param existing_copy This is a retransmission, don't save a copy.
  */
 void
 GMCH_send_prebuilt_message (const struct GNUNET_MessageHeader *message,
                             struct MeshChannel *ch, int fwd,
-                            int retransmission);
+                            void *existing_copy);
 
 /**
  * Get the static string for identification of the channel.