[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r21691 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r21691 - gnunet/src/transport |
Date: |
Fri, 1 Jun 2012 14:01:20 +0200 |
Author: grothoff
Date: 2012-06-01 14:01:20 +0200 (Fri, 01 Jun 2012)
New Revision: 21691
Modified:
gnunet/src/transport/gnunet-service-transport_neighbours.c
Log:
-fixing #2391
Modified: gnunet/src/transport/gnunet-service-transport_neighbours.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_neighbours.c 2012-06-01
11:34:21 UTC (rev 21690)
+++ gnunet/src/transport/gnunet-service-transport_neighbours.c 2012-06-01
12:01:20 UTC (rev 21691)
@@ -2306,11 +2306,12 @@
struct GNUNET_TIME_Relative delay;
n->task = GNUNET_SCHEDULER_NO_TASK;
+ delay = GNUNET_TIME_absolute_get_remaining (n->timeout);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "master task runs for neighbour `%s' in state %d\n",
+ "master task runs for neighbour `%s' in state %d with timeout in
%llu ms\n",
GNUNET_i2s (&n->id),
- n->state);
- delay = GNUNET_TIME_absolute_get_remaining (n->timeout);
+ n->state,
+ (unsigned long long) delay.rel_value);
switch (n->state)
{
case S_NOT_CONNECTED:
@@ -2465,8 +2466,16 @@
GNUNET_break (0);
break;
}
- delay = GNUNET_TIME_relative_min (GNUNET_TIME_absolute_get_remaining
(n->keep_alive_time),
- delay);
+ if ( (S_CONNECTED_SWITCHING_CONNECT_SENT == n->state) ||
+ (S_CONNECTED_SWITCHING_BLACKLIST == n->state) ||
+ (S_CONNECTED == n->state) )
+ {
+ /* if we are *now* in one of these three states, we're sending
+ keep alive messages, so we need to consider the keepalive
+ delay, not just the connection timeout */
+ delay = GNUNET_TIME_relative_min (GNUNET_TIME_absolute_get_remaining
(n->keep_alive_time),
+ delay);
+ }
if (GNUNET_SCHEDULER_NO_TASK == n->task)
n->task = GNUNET_SCHEDULER_add_delayed (delay,
&master_task,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r21691 - gnunet/src/transport,
gnunet <=