- use message ID for end-to-end ACKs
[oweals/gnunet.git] / src / mesh / mesh_protocol.h
index 28cb1fa93d44318311a5130cd84137312bbbf9f6..6067da90895e6dd8413a3feeabe9bfdf621fecf4 100644 (file)
@@ -121,7 +121,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 +130,11 @@ struct GNUNET_MESH_Data
      */
   struct GNUNET_PeerIdentity oid;
 
+  /**
+   * Unique ID of the payload message
+   */
+  uint64_t mid GNUNET_PACKED;
+
     /**
      * Payload follows
      */
@@ -157,16 +162,16 @@ struct GNUNET_MESH_DataACK
   struct GNUNET_PeerIdentity oid;
 
   /**
-   * Maximum packet ID acknowledged.
+   * Last message ID received.
    */
-  uint32_t pid;
+  uint64_t mid GNUNET_PACKED;
 
   /**
    * Bitfield of already-received newer messages // TODO implement and use
    * pid +  1 @ LSB
    * pid + 32 @ MSB
    */
-  uint32_t futures;
+  uint32_t futures GNUNET_PACKED;
 };
 
 
@@ -193,7 +198,7 @@ struct GNUNET_MESH_ACK
     /**
      * Maximum packet ID authorized.
      */
-  uint32_t pid;
+  uint32_t pid GNUNET_PACKED;
 };