[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r27093 - gnunet/src/mesh
From: |
gnunet |
Subject: |
[GNUnet-SVN] r27093 - gnunet/src/mesh |
Date: |
Fri, 10 May 2013 18:14:44 +0200 |
Author: bartpolot
Date: 2013-05-10 18:14:44 +0200 (Fri, 10 May 2013)
New Revision: 27093
Modified:
gnunet/src/mesh/gnunet-service-mesh-new.c
Log:
- cancel poll when receiving big enough ack
Modified: gnunet/src/mesh/gnunet-service-mesh-new.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh-new.c 2013-05-10 16:06:13 UTC (rev
27092)
+++ gnunet/src/mesh/gnunet-service-mesh-new.c 2013-05-10 16:14:44 UTC (rev
27093)
@@ -4192,22 +4192,30 @@
{
debug_bck_ack++;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " FWD ACK\n");
+ if (GNUNET_SCHEDULER_NO_TASK != t->next_fc.poll_task &&
+ GMC_is_pid_bigger (ack, t->next_fc.last_ack_recv))
+ {
+ GNUNET_SCHEDULER_cancel (t->next_fc.poll_task);
+ t->next_fc.poll_task = GNUNET_SCHEDULER_NO_TASK;
+ t->next_fc.poll_time = GNUNET_TIME_UNIT_SECONDS;
+ }
t->next_fc.last_ack_recv = ack;
+ peer_unlock_queue (t->next_hop);
tunnel_send_fwd_ack (t, GNUNET_MESSAGE_TYPE_MESH_ACK);
- peer_unlock_queue (t->next_hop);
-// if (GNUNET_SCHEDULER_NO_TASK != cinfo->fc_poll) FIXME
-// {
-// GNUNET_SCHEDULER_cancel (cinfo->fc_poll);
-// cinfo->fc_poll = GNUNET_SCHEDULER_NO_TASK;
-// cinfo->fc_poll_time = GNUNET_TIME_UNIT_SECONDS;
-// }
}
else
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " BCK ACK\n");
+ if (GNUNET_SCHEDULER_NO_TASK != t->prev_fc.poll_task &&
+ GMC_is_pid_bigger (ack, t->prev_fc.last_ack_recv))
+ {
+ GNUNET_SCHEDULER_cancel (t->prev_fc.poll_task);
+ t->prev_fc.poll_task = GNUNET_SCHEDULER_NO_TASK;
+ t->prev_fc.poll_time = GNUNET_TIME_UNIT_SECONDS;
+ }
t->prev_fc.last_ack_recv = ack;
+ peer_unlock_queue (t->prev_hop);
tunnel_send_bck_ack (t, GNUNET_MESSAGE_TYPE_MESH_ACK);
- peer_unlock_queue (t->prev_hop);
}
return GNUNET_OK;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r27093 - gnunet/src/mesh,
gnunet <=