- disable try_connect to force topology
[oweals/gnunet.git] / src / mesh / mesh_protocol.h
index 37f2ffb72dbd72faf33375c2f9d152fc0fdc49d0..01f7f3487d8ca91972271440d83a8eda792e7ded 100644 (file)
@@ -173,6 +173,16 @@ struct GNUNET_MESH_ToOrigin
      */
   uint32_t tid GNUNET_PACKED;
 
+    /**
+     * Number of hops to live
+     */
+  uint32_t ttl GNUNET_PACKED;
+
+    /**
+     * Unique ID of the packet
+     */
+  uint32_t pid GNUNET_PACKED;
+
     /**
      * OID of the tunnel
      */
@@ -190,7 +200,7 @@ struct GNUNET_MESH_ToOrigin
 
 
 /**
- * Message to acknowledte mesh data traffic.
+ * Message to acknowledge mesh data traffic.
  */
 struct GNUNET_MESH_ACK
 {
@@ -210,13 +220,36 @@ struct GNUNET_MESH_ACK
   struct GNUNET_PeerIdentity oid;
 
     /**
-     * Sender of the message.
+     * Maximum packet ID authorized.
      */
-  struct GNUNET_PeerIdentity sender;
+  uint32_t pid;
 
-    /**
-     * Payload follows
-     */
+};
+
+/**
+ * Message to query a peer about its Flow Control status regarding a tunnel.
+ */
+struct GNUNET_MESH_Poll
+{
+  /**
+   * Type: GNUNET_MESSAGE_TYPE_MESH_POLL
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * TID of the tunnel
+   */
+  uint32_t tid GNUNET_PACKED;
+
+  /**
+   * OID of the tunnel
+   */
+  struct GNUNET_PeerIdentity oid;
+
+  /**
+   * Last ACK received.
+   */
+  uint32_t last_ack;
 };
 
 /**
@@ -306,6 +339,29 @@ struct GNUNET_MESH_TunnelDestroy
 };
 
 
+/**
+ * Message to destroy a tunnel
+ */
+struct GNUNET_MESH_TunnelKeepAlive
+{
+  /**
+   * Type: GNUNET_MESSAGE_TYPE_MESH_PATH_KEEPALIVE
+   */
+  struct GNUNET_MessageHeader header;
+  
+  /**
+   * TID of the tunnel
+   */
+  uint32_t tid GNUNET_PACKED;
+  
+  /**
+   * OID of the tunnel
+   */
+  struct GNUNET_PeerIdentity oid;
+};
+
+
+
 GNUNET_NETWORK_STRUCT_END
 
 #if 0                           /* keep Emacsens' auto-indent happy */