-only notify AFTER sending is really close to finished, not before
[oweals/gnunet.git] / src / mesh / mesh_common.c
index 228b30aec97d9e1a4ad24833dfaea990a4ab46d4..06c9b7b84e9f2c3061b3f5b58af8a83e686ff4cb 100644 (file)
@@ -30,8 +30,8 @@
 int
 GMC_is_pid_bigger (uint32_t bigger, uint32_t smaller)
 {
-    return (GNUNET_YES == PID_OVERFLOW(smaller, bigger) ||
-            (bigger > smaller && GNUNET_NO == PID_OVERFLOW(bigger, smaller)));
+    return (GNUNET_YES == PID_OVERFLOW (smaller, bigger) ||
+            (bigger > smaller && GNUNET_NO == PID_OVERFLOW (bigger, smaller)));
 }
 
 
@@ -52,13 +52,6 @@ GMC_min_pid (uint32_t a, uint32_t b)
   return a;
 }
 
-void
-GMC_hash32 (uint32_t i, struct GNUNET_HashCode *h)
-{
-  memset (h, 0, sizeof(struct GNUNET_HashCode));
-  *(unsigned int *) h = i;
-}
-
 
 #if !defined(GNUNET_CULL_LOGGING)
 const char *
@@ -70,17 +63,17 @@ GNUNET_MESH_DEBUG_M2S (uint16_t m)
       /**
        * Request the creation of a path
        */
-    case 256: return "GNUNET_MESSAGE_TYPE_MESH_PATH_CREATE";
+    case 256: return "GNUNET_MESSAGE_TYPE_MESH_CONNECTION_CREATE";
 
       /**
        * Request the modification of an existing path
        */
-    case 257: return "GNUNET_MESSAGE_TYPE_MESH_PATH_CHANGE";
+    case 257: return "GNUNET_MESSAGE_TYPE_MESH_CONNECTION_ACK";
 
       /**
        * Notify that a connection of a path is no longer valid
        */
-    case 258: return "GNUNET_MESSAGE_TYPE_MESH_PATH_BROKEN";
+    case 258: return "GNUNET_MESSAGE_TYPE_MESH_CONNECTION_BROKEN";
 
       /**
        * At some point, the route will spontaneously change
@@ -88,119 +81,99 @@ GNUNET_MESH_DEBUG_M2S (uint16_t m)
     case 259: return "GNUNET_MESSAGE_TYPE_MESH_PATH_CHANGED";
 
       /**
-       * Transport data in the mesh (origin->end) unicast
+       * Transport payload data.
        */
-    case 260: return "GNUNET_MESSAGE_TYPE_MESH_UNICAST";
+    case 260: return "GNUNET_MESSAGE_TYPE_MESH_DATA";
+
+    /**
+     * Confirm receipt of payload data.
+     */
+    case 261: return "GNUNET_MESSAGE_TYPE_MESH_DATA_ACK";
 
       /**
-       * Transport data to all peers in a tunnel
+       * Key exchange encapsulation.
        */
-    case 261: return "GNUNET_MESSAGE_TYPE_MESH_MULTICAST";
+    case 262: return "GNUNET_MESSAGE_TYPE_MESH_KX";
 
       /**
-       * Transport data back in the mesh (end->origin)
+       * New ephemeral key.
        */
-    case 262: return "GNUNET_MESSAGE_TYPE_MESH_TO_ORIGIN";
+    case 263: return "GNUNET_MESSAGE_TYPE_MESH_KX_EPHEMERAL";
 
       /**
-       * Send origin an ACK that the path is complete
+       * Challenge to test peer's session key.
        */
-    case 263: return "GNUNET_MESSAGE_TYPE_MESH_PATH_ACK";
+    case 264: return "GNUNET_MESSAGE_TYPE_MESH_KX_PING";
 
       /**
-       * Avoid path timeouts
+       * Answer to session key challenge.
        */
-    case 264: return "GNUNET_MESSAGE_TYPE_MESH_PATH_KEEPALIVE";
+    case 265: return "GNUNET_MESSAGE_TYPE_MESH_KX_PONG";
 
       /**
        * Request the destuction of a path
        */
-    case 265: return "GNUNET_MESSAGE_TYPE_MESH_PATH_DESTROY";
+    case 266: return "GNUNET_MESSAGE_TYPE_MESH_CONNECTION_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";
-
-      /**
-       * Connect to the mesh service, specifying subscriptions
-       */
-    case 272: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT";
-
-      /**
-       * Ask the mesh service to create a new tunnel
-       */
-    case 273: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_CREATE";
-
-      /**
-       * Ask the mesh service to destroy a tunnel
-       */
-    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";
+    case 269: return "GNUNET_MESSAGE_TYPE_MESH_POLL";
 
       /**
-       * Ask the mesh service to add a peer offering a service to an existing tunnel
+       * Announce origin is still alive.
        */
-    case 277: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_ADD_BY_TYPE";
+    case 270: return "GNUNET_MESSAGE_TYPE_MESH_FWD_KEEPALIVE";
 
       /**
-       * Ask the mesh service to add a peer described by a service string
+       * Announce destination is still alive.
        */
-    case 278: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_ANNOUNCE_REGEX";
+    case 271: return "GNUNET_MESSAGE_TYPE_MESH_BCK_KEEPALIVE";
 
-      /**
-       * Ask the mesh service to add a peer described by a service string
+    /**
+       * Connect to the mesh service, specifying subscriptions
        */
-    case 279: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_ADD_BY_STRING";
+    case 272: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT";
 
       /**
-       * Ask the mesh service to add a peer to the blacklist of an existing tunnel
+       * Ask the mesh service to create a new tunnel
        */
-    case 280: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_BLACKLIST";
+    case 273: return "GNUNET_MESSAGE_TYPE_MESH_CHANNEL_CREATE";
 
       /**
-       * Ask the mesh service to remove a peer from the blacklist of a tunnel
+       * Ask the mesh service to destroy a tunnel
        */
-    case 281: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_PEER_UNBLACKLIST";
+    case 274: return "GNUNET_MESSAGE_TYPE_MESH_CHANNEL_DESTROY";
 
       /**
-       * Set tunnel speed to slowest peer
+       * Confirm the creation of a channel.
        */
-    case 282: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_MIN";
+    case 275: return "GNUNET_MESSAGE_TYPE_MESH_CHANNEL_ACK";
 
       /**
-       * Set tunnel speed to fastest peer
+       * Confirm the creation of a channel.
        */
-    case 283: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_MAX";
+    case 276: return "GNUNET_MESSAGE_TYPE_MESH_CHANNEL_NACK";
 
       /**
-       * Set tunnel buffering on.
+       * Encrypted payload.
        */
-    case 284: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_BUFFER";
+    case 280: return "GNUNET_MESSAGE_TYPE_MESH_ENCRYPTED";
 
       /**
-       * Set tunnel buffering off.
+       * Local payload traffic
        */
-    case 285: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_NOBUFFER";
+    case 285: return "GNUNET_MESSAGE_TYPE_MESH_LOCAL_DATA";
 
       /**
        * Local ACK for data.
@@ -210,12 +183,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