[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r10874 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r10874 - gnunet/src/transport |
Date: |
Mon, 12 Apr 2010 13:20:04 +0200 |
Author: grothoff
Date: 2010-04-12 13:20:04 +0200 (Mon, 12 Apr 2010)
New Revision: 10874
Modified:
gnunet/src/transport/gnunet-service-transport.c
Log:
fix refresh
Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c 2010-04-12 10:07:22 UTC
(rev 10873)
+++ gnunet/src/transport/gnunet-service-transport.c 2010-04-12 11:20:04 UTC
(rev 10874)
@@ -92,11 +92,6 @@
#define HELLO_VERIFICATION_TIMEOUT GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_SECONDS, 30)
/**
- * How long will we allow sending of a ping to be delayed?
- */
-#define TRANSPORT_DEFAULT_TIMEOUT GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_SECONDS, 15)
-
-/**
* Priority to use for PONG messages.
*/
#define TRANSPORT_PONG_PRIORITY 4
@@ -1548,6 +1543,7 @@
static void
update_addresses (struct TransportPlugin *plugin, int fresh)
{
+ static struct GNUNET_TIME_Absolute last_update;
struct GNUNET_TIME_Relative min_remaining;
struct GNUNET_TIME_Relative remaining;
struct GNUNET_TIME_Absolute now;
@@ -1561,7 +1557,7 @@
plugin->address_update_task = GNUNET_SCHEDULER_NO_TASK;
now = GNUNET_TIME_absolute_get ();
min_remaining = GNUNET_TIME_UNIT_FOREVER_REL;
- expired = GNUNET_NO;
+ expired = (GNUNET_TIME_absolute_get_duration (last_update).value >
(HELLO_ADDRESS_EXPIRATION.value / 4));
prev = NULL;
pos = plugin->addresses;
while (pos != NULL)
@@ -1573,9 +1569,7 @@
if (prev == NULL)
plugin->addresses = pos->next;
else
- prev->next = pos->next;
-
-
+ prev->next = pos->next;
GNUNET_free (pos);
}
else
@@ -1589,13 +1583,17 @@
}
if (expired || fresh)
- refresh_hello ();
- if (min_remaining.value < GNUNET_TIME_UNIT_FOREVER_REL.value)
- plugin->address_update_task
- = GNUNET_SCHEDULER_add_delayed (plugin->env.sched,
- min_remaining,
- &expire_address_task, plugin);
-
+ {
+ last_update = now;
+ refresh_hello ();
+ }
+ min_remaining = GNUNET_TIME_relative_min (min_remaining,
+ GNUNET_TIME_relative_divide
(HELLO_ADDRESS_EXPIRATION,
+ 2));
+ plugin->address_update_task
+ = GNUNET_SCHEDULER_add_delayed (plugin->env.sched,
+ min_remaining,
+ &expire_address_task, plugin);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r10874 - gnunet/src/transport,
gnunet <=