/* 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.
uint32_t ttl GNUNET_PACKED;
/**
- * Unique ID of the packet
+ * ID of the packet
*/
uint32_t pid GNUNET_PACKED;
*/
struct GNUNET_PeerIdentity oid;
+ /**
+ * Unique ID of the payload message
+ */
+ uint32_t mid GNUNET_PACKED;
+
/**
* Payload follows
*/
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;
};
/**
* Maximum packet ID authorized.
*/
- uint32_t pid;
+ uint32_t pid GNUNET_PACKED;
};
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
*/