[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r24727 - gnunet/src/mesh
From: |
gnunet |
Subject: |
[GNUnet-SVN] r24727 - gnunet/src/mesh |
Date: |
Mon, 5 Nov 2012 14:05:47 +0100 |
Author: bartpolot
Date: 2012-11-05 14:05:47 +0100 (Mon, 05 Nov 2012)
New Revision: 24727
Modified:
gnunet/src/mesh/gnunet-service-mesh.c
Log:
- simplify bck, avoid sending duplicate acks
Modified: gnunet/src/mesh/gnunet-service-mesh.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh.c 2012-11-05 13:00:41 UTC (rev
24726)
+++ gnunet/src/mesh/gnunet-service-mesh.c 2012-11-05 13:05:47 UTC (rev
24727)
@@ -4018,23 +4018,25 @@
struct MeshTunnel *t = cls;
struct MeshTunnelChildInfo *cinfo;
struct GNUNET_PeerIdentity peer;
+ uint32_t ack;
GNUNET_PEER_resolve (id, &peer);
cinfo = tunnel_get_neighbor_fc (t, &peer);
+ ack = cinfo->bck_pid + t->bck_queue_max - t->bck_queue_n;
- if (cinfo->bck_ack != cinfo->bck_pid &&
- GNUNET_NO == GMC_is_pid_bigger (cinfo->bck_ack, cinfo->bck_pid))
+ if (cinfo->bck_ack == ack)
{
+ // FIXME fc allow force on poll
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
" Not sending ACK, not needed\n");
return;
}
+ cinfo->bck_ack = ack;
- cinfo->bck_ack = t->bck_queue_max - t->bck_queue_n + cinfo->bck_pid;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- " Sending BCK ACK %u\n",
- cinfo->bck_ack);
- send_ack (t, &peer, cinfo->bck_ack);
+ " Sending BCK ACK %u (last sent: %u)\n",
+ ack, cinfo->bck_ack);
+ send_ack (t, &peer, ack);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r24727 - gnunet/src/mesh,
gnunet <=