- hide temp config file, show config template
[oweals/gnunet.git] / src / mesh / gnunet-service-mesh_connection.h
index 00b5e082ba1f1693e1e8d5b32a0dc45c3bd73649..f79117f2da689b7e68cff55d617acb8f52710a1e 100644 (file)
@@ -64,6 +64,11 @@ enum MeshConnectionState
    * Connection confirmed, ready to carry traffic.
    */
   MESH_CONNECTION_READY,
+
+  /**
+   * Connection to be destroyed, just waiting to empty queues.
+   */
+  MESH_CONNECTION_DESTROYED,
 };
 
 
@@ -261,7 +266,7 @@ GMC_shutdown (void);
  * @return Newly created connection, NULL in case of error (own id not in path).
  */
 struct MeshConnection *
-GMC_new (const struct GNUNET_HashCode *cid,
+GMC_new (const struct GNUNET_MeshHash *cid,
          struct MeshTunnel3 *t,
          struct MeshPeerPath *p,
          unsigned int own_pos);
@@ -284,9 +289,21 @@ GMC_destroy (struct MeshConnection *c);
  *
  * @return ID of the connection.
  */
-const struct GNUNET_HashCode *
+const struct GNUNET_MeshHash *
 GMC_get_id (const struct MeshConnection *c);
 
+
+/**
+ * Get a hash for the connection ID.
+ *
+ * @param c Connection to get the hash.
+ *
+ * @return Hash expanded from the ID of the connection.
+ */
+const struct GNUNET_HashCode *
+GMC_get_h (const struct MeshConnection *c);
+
+
 /**
  * Get the connection path.
  *
@@ -447,6 +464,7 @@ GMC_cancel (struct MeshConnectionQueue *q);
  *                If message is not hop-by-hop, decrements TTL of copy.
  * @param c Connection on which this message is transmitted.
  * @param fwd Is this a fwd message?
+ * @param force Force the connection to accept the message (buffer overfill).
  * @param cont Continuation called once message is sent. Can be NULL.
  * @param cont_cls Closure for @c cont.
  *
@@ -456,7 +474,7 @@ GMC_cancel (struct MeshConnectionQueue *q);
  */
 struct MeshConnectionQueue *
 GMC_send_prebuilt_message (const struct GNUNET_MessageHeader *message,
-                           struct MeshConnection *c, int fwd,
+                           struct MeshConnection *c, int fwd, int force,
                            GMC_sent cont, void *cont_cls);
 
 /**
@@ -511,7 +529,7 @@ GMC_stop_poll (struct MeshConnection *c, int fwd);
  * @param c Connection.
  */
 const char *
-GMC_2s (struct MeshConnection *c);
+GMC_2s (const struct MeshConnection *c);
 
 #if 0                           /* keep Emacsens' auto-indent happy */
 {