- add separate encryption enabled mesh to avoid breakage during developement
[oweals/gnunet.git] / src / mesh / mesh_protocol.h
index ce9df073c7d86373ba4d7a5f9162872b374222bf..2d708eb6220b11144c963eac1b525937a790b92e 100644 (file)
@@ -78,26 +78,6 @@ struct GNUNET_MESH_CreateTunnel
   /* struct GNUNET_PeerIdentity peers[path_length]; */
 };
 
-/**
- * Message for mesh path destruction.
- */
-struct GNUNET_MESH_DestroyTunnel
-{
-  /**
-   * Type: GNUNET_MESSAGE_TYPE_MESH_PATH_DESTROY
-   *
-   * Size: sizeof(struct GNUNET_MESH_ManipulatePath) +
-   *       path_length * sizeof (struct GNUNET_PeerIdentity)
-   */
-  struct GNUNET_MessageHeader header;
-  
-  /**
-   * Global id of the tunnel this path belongs to,
-   * unique in conjunction with the origin.
-   */
-  uint32_t tid GNUNET_PACKED;
-};
-
 
 /**
  * Message for mesh data traffic.
@@ -121,7 +101,7 @@ struct GNUNET_MESH_Data
   uint32_t ttl GNUNET_PACKED;
 
     /**
-     * Unique ID of the packet
+     * ID of the packet
      */
   uint32_t pid GNUNET_PACKED;
 
@@ -130,6 +110,11 @@ struct GNUNET_MESH_Data
      */
   struct GNUNET_PeerIdentity oid;
 
+  /**
+   * Unique ID of the payload message
+   */
+  uint32_t mid GNUNET_PACKED;
+
     /**
      * Payload follows
      */
@@ -157,16 +142,16 @@ struct GNUNET_MESH_DataACK
   struct GNUNET_PeerIdentity oid;
 
   /**
-   * Maximum packet ID acknowledged.
+   * Bitfield of already-received newer messages
+   * pid +  1 @ LSB
+   * pid + 64 @ MSB
    */
-  uint32_t pid;
+  uint64_t futures GNUNET_PACKED;
 
   /**
-   * Bitfield of already-received newer messages // TODO implement and use
-   * pid +  1 @ LSB
-   * pid + 32 @ MSB
+   * Last message ID received.
    */
-  uint32_t futures;
+  uint32_t mid GNUNET_PACKED;
 };
 
 
@@ -193,7 +178,7 @@ struct GNUNET_MESH_ACK
     /**
      * Maximum packet ID authorized.
      */
-  uint32_t pid;
+  uint32_t pid GNUNET_PACKED;
 };
 
 
@@ -216,6 +201,11 @@ struct GNUNET_MESH_Poll
    * OID of the tunnel
    */
   struct GNUNET_PeerIdentity oid;
+
+  /**
+   * Last packet sent.
+   */
+  uint32_t pid GNUNET_PACKED;
 };
 
 /**
@@ -316,15 +306,15 @@ struct GNUNET_MESH_TunnelDestroy
 struct GNUNET_MESH_TunnelKeepAlive
 {
   /**
-   * Type: GNUNET_MESSAGE_TYPE_MESH_PATH_KEEPALIVE
+   * Type: GNUNET_MESSAGE_TYPE_MESH_PATH_(FWD|BCK)_KEEPALIVE
    */
   struct GNUNET_MessageHeader header;
-  
+
   /**
    * TID of the tunnel
    */
   uint32_t tid GNUNET_PACKED;
-  
+
   /**
    * OID of the tunnel
    */