- major refactoring, implement bi-directional keepalives, retransmit initial messages...
[oweals/gnunet.git] / src / mesh / mesh_common.c
index c9af35c2258d9a29bc2ee1827e873632d52088b3..106555ad8fea373217ac4bf63705478f4f23a846 100644 (file)
 #include "mesh.h"
 
 
-/**
- * Check if one pid is bigger than other, accounting for overflow.
- *
- * @param bigger Argument that should be bigger.
- * @param smaller Argument that should be smaller.
- *
- * @return True if bigger (arg1) has a higher value than smaller (arg 2).
- */
 int
 GMC_is_pid_bigger (uint32_t bigger, uint32_t smaller)
 {
@@ -42,14 +34,7 @@ GMC_is_pid_bigger (uint32_t bigger, uint32_t smaller)
             (bigger > smaller && GNUNET_NO == PID_OVERFLOW(bigger, smaller)));
 }
 
-/**
- * Get the higher ACK value out of two values, taking in account overflow.
- *
- * @param a First ACK value.
- * @param b Second ACK value.
- *
- * @return Highest ACK value from the two.
- */
+
 uint32_t
 GMC_max_pid (uint32_t a, uint32_t b)
 {
@@ -59,14 +44,6 @@ GMC_max_pid (uint32_t a, uint32_t b)
 }
 
 
-/**
- * Get the lower ACK value out of two values, taking in account overflow.
- *
- * @param a First ACK value.
- * @param b Second ACK value.
- *
- * @return Lowest ACK value from the two.
- */
 uint32_t
 GMC_min_pid (uint32_t a, uint32_t b)
 {
@@ -91,7 +68,7 @@ GNUNET_MESH_DEBUG_M2S (uint16_t m)
       /**
        * Request the modification of an existing path
        */
-    case 257: return "GNUNET_MESSAGE_TYPE_MESH_PATH_CHANGE";
+    case 257: return "GNUNET_MESSAGE_TYPE_MESH_PATH_ACK";
 
       /**
        * Notify that a connection of a path is no longer valid
@@ -108,47 +85,52 @@ GNUNET_MESH_DEBUG_M2S (uint16_t m)
        */
     case 260: return "GNUNET_MESSAGE_TYPE_MESH_UNICAST";
 
-      /**
-       * Transport data to all peers in a tunnel
-       */
-    case 261: return "GNUNET_MESSAGE_TYPE_MESH_MULTICAST";
-
       /**
        * Transport data back in the mesh (end->origin)
        */
     case 262: return "GNUNET_MESSAGE_TYPE_MESH_TO_ORIGIN";
 
       /**
-       * Send origin an ACK that the path is complete
+       * Send origin an ACK that UNICAST arrived
        */
-    case 263: return "GNUNET_MESSAGE_TYPE_MESH_PATH_ACK";
+    case 263: return "GNUNET_MESSAGE_TYPE_MESH_UNICAST_ACK";
 
       /**
-       * Avoid path timeouts
+       * Send origin an ACK that TO_ORIGIN arrived
        */
-    case 264: return "GNUNET_MESSAGE_TYPE_MESH_PATH_KEEPALIVE";
+    case 264: return "GNUNET_MESSAGE_TYPE_MESH_TO_ORIG_ACK";
 
       /**
        * Request the destuction of a path
        */
-    case 265: return "GNUNET_MESSAGE_TYPE_MESH_PATH_DESTROY";
+    case 266: return "GNUNET_MESSAGE_TYPE_MESH_PATH_DESTROY";
 
       /**
        * Request the destruction of a whole tunnel
        */
-    case 266: return "GNUNET_MESSAGE_TYPE_MESH_TUNNEL_DESTROY";
+    case 267: return "GNUNET_MESSAGE_TYPE_MESH_TUNNEL_DESTROY";
 
       /**
        * ACK for a data packet.
        */
-    case 267: return "GNUNET_MESSAGE_TYPE_MESH_ACK";
+    case 268: return "GNUNET_MESSAGE_TYPE_MESH_ACK";
 
       /**
        * POLL for ACK.
        */
-    case 268: return "GNUNET_MESSAGE_TYPE_MESH_POLL";
+    case 269: return "GNUNET_MESSAGE_TYPE_MESH_POLL";
 
       /**
+       * Announce origin is still alive.
+       */
+    case 270: return "GNUNET_MESSAGE_TYPE_MESH_FWD_KEEPALIVE";
+
+      /**
+       * Announce destination is still alive.
+       */
+    case 271: return "GNUNET_MESSAGE_TYPE_MESH_BCK_KEEPALIVE";
+
+    /**
        * Connect to the mesh service, specifying subscriptions
        */
     case 272: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT";
@@ -164,59 +146,9 @@ GNUNET_MESH_DEBUG_M2S (uint16_t m)
     case 274: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_DESTROY";
 
       /**
-       * Ask the mesh service to add a peer to an existing tunnel
-       */
-    case 275: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_ADD";
-
-      /**
-       * Ask the mesh service to remove a peer from a tunnel
-       */
-    case 276: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_DEL";
-
-      /**
-       * Ask the mesh service to add a peer offering a service to an existing tunnel
-       */
-    case 277: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_ADD_BY_TYPE";
-
-      /**
-       * Ask the mesh service to add a peer described by a service string
-       */
-    case 278: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_ANNOUNCE_REGEX";
-
-      /**
-       * Ask the mesh service to add a peer described by a service string
-       */
-    case 279: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_ADD_BY_STRING";
-
-      /**
-       * Ask the mesh service to add a peer to the blacklist of an existing tunnel
-       */
-    case 280: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_BLACKLIST";
-
-      /**
-       * Ask the mesh service to remove a peer from the blacklist of a tunnel
-       */
-    case 281: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_UNBLACKLIST";
-
-      /**
-       * Set tunnel speed to slowest peer
-       */
-    case 282: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_MIN";
-
-      /**
-       * Set tunnel speed to fastest peer
-       */
-    case 283: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_MAX";
-
-      /**
-       * Set tunnel buffering on.
-       */
-    case 284: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_BUFFER";
-
-      /**
-       * Set tunnel buffering off.
+       * Local payload traffic
        */
-    case 285: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_NOBUFFER";
+    case 275: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_DATA";
 
       /**
        * Local ACK for data.
@@ -226,12 +158,12 @@ GNUNET_MESH_DEBUG_M2S (uint16_t m)
       /**
        * Local monitoring of service.
        */
-    case 287: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_MONITOR";
+    case 287: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_TUNNELS";
 
       /**
        * Local monitoring of service of a specific tunnel.
        */
-    case 288: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_MONITOR_TUNNEL";
+    case 288: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_TUNNEL";
 
       /**
        * 640kb should be enough for everybody