gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r24730 - gnunet/src/mesh
Date: Mon, 5 Nov 2012 14:26:23 +0100

Author: bartpolot
Date: 2012-11-05 14:26:23 +0100 (Mon, 05 Nov 2012)
New Revision: 24730

Modified:
   gnunet/src/mesh/gnunet-service-mesh-new.c
Log:
- backport fix to mesh_new

Modified: gnunet/src/mesh/gnunet-service-mesh-new.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh-new.c   2012-11-05 13:18:12 UTC (rev 
24729)
+++ gnunet/src/mesh/gnunet-service-mesh-new.c   2012-11-05 13:26:23 UTC (rev 
24730)
@@ -4002,23 +4002,26 @@
   struct MeshTunnel *t = cls;
   struct MeshTunnelFlowControlInfo *fcinfo;
   struct GNUNET_PeerIdentity peer;
+  uint32_t ack;
 
   GNUNET_PEER_resolve (id, &peer);
   fcinfo = tunnel_get_neighbor_fc (t, &peer);
+  ack = fcinfo->bck_pid + t->bck_queue_max - t->bck_queue_n;
 
-  if (fcinfo->bck_ack != fcinfo->bck_pid &&
-      GNUNET_NO == GMC_is_pid_bigger (fcinfo->bck_ack, fcinfo->bck_pid))
+
+  if (fcinfo->bck_ack == ack)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                 "    Not sending ACK, not needed\n");
     return;
   }
+  fcinfo->bck_ack = ack;
 
-  fcinfo->bck_ack = t->bck_queue_max - t->bck_queue_n + fcinfo->bck_pid;
+  fcinfo->bck_ack = fcinfo->bck_pid + t->bck_queue_max - t->bck_queue_n;
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "    Sending BCK ACK %u\n",
-              fcinfo->bck_ack);
-  send_ack (t, &peer, fcinfo->bck_ack);
+              "    Sending BCK ACK %u (last sent: %u)\n",
+              ack, fcinfo->bck_ack);
+  send_ack (t, &peer, ack);
 }
 
 




reply via email to

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