gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r22964 - gnunet/src/mesh


From: gnunet
Subject: [GNUnet-SVN] r22964 - gnunet/src/mesh
Date: Mon, 30 Jul 2012 10:52:51 +0200

Author: bartpolot
Date: 2012-07-30 10:52:51 +0200 (Mon, 30 Jul 2012)
New Revision: 22964

Modified:
   gnunet/src/mesh/gnunet-service-mesh.c
Log:
- fix client<->service flow control

Modified: gnunet/src/mesh/gnunet-service-mesh.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh.c       2012-07-30 08:34:13 UTC (rev 
22963)
+++ gnunet/src/mesh/gnunet-service-mesh.c       2012-07-30 08:52:51 UTC (rev 
22964)
@@ -3317,6 +3317,7 @@
 
 /**
  * Send an ACK informing the predecessor about the available buffer space.
+ * In case there is no predecessor, inform the owning client.
  * If buffering is off, send only on behalf of children or self if endpoint.
  * If buffering is on, send when sent to children and buffer space is free.
  * 
@@ -3329,6 +3330,11 @@
   struct GNUNET_PeerIdentity id;
   uint32_t ack;
 
+  if (NULL != t->owner)
+  {
+    send_client_tunnel_ack (t->owner, t);
+    return;
+  }
   /* Is it after unicast / multicast retransmission? */
   if (GNUNET_MESSAGE_TYPE_MESH_ACK != type)
   {
@@ -6261,7 +6267,6 @@
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                 "  calling generic handler...\n");
     handle_mesh_data_unicast (NULL, &my_full_id, &copy->header, NULL, 0);
-    send_client_tunnel_ack (t->owner, t);
   }
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "receive done OK\n");
   GNUNET_SERVER_receive_done (client, GNUNET_OK);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]