[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r34822 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r34822 - gnunet/src/transport |
Date: |
Mon, 5 Jan 2015 15:27:52 +0100 |
Author: grothoff
Date: 2015-01-05 15:27:52 +0100 (Mon, 05 Jan 2015)
New Revision: 34822
Modified:
gnunet/src/transport/gnunet-service-transport_validation.c
Log:
-stylistic fixes, also, only block re-validation for 2s IF we actually did send
a PING, not if we didn't find the plugin
Modified: gnunet/src/transport/gnunet-service-transport_validation.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_validation.c 2015-01-05
04:35:56 UTC (rev 34821)
+++ gnunet/src/transport/gnunet-service-transport_validation.c 2015-01-05
14:27:52 UTC (rev 34822)
@@ -206,12 +206,12 @@
/**
* ID of task that will clean up this entry if nothing happens.
*/
- struct GNUNET_SCHEDULER_Task * timeout_task;
+ struct GNUNET_SCHEDULER_Task *timeout_task;
/**
* ID of task that will trigger address revalidation.
*/
- struct GNUNET_SCHEDULER_Task * revalidation_task;
+ struct GNUNET_SCHEDULER_Task *revalidation_task;
/**
* At what time did we send the latest validation request (PING)?
@@ -426,7 +426,7 @@
{
struct ValidationEntry *ve = value;
- ve->next_validation = GNUNET_TIME_absolute_get_zero_();
+ ve->next_validation = GNUNET_TIME_UNIT_ZERO_ABS;
ve->valid_until = GNUNET_TIME_UNIT_ZERO_ABS;
/* Notify about deleted entry */
@@ -451,13 +451,17 @@
GNUNET_SCHEDULER_cancel (ve->revalidation_task);
ve->revalidation_task = NULL;
}
- if ((GNUNET_YES == ve->expecting_pong) &&
- (validations_running > 0))
+ if ( (GNUNET_YES == ve->expecting_pong) &&
+ (validations_running > 0) )
{
- validations_running --;
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Validation finished, %u validation processes running\n",
- validations_running);
+ validations_running --;
+ GNUNET_STATISTICS_set (GST_stats,
+ gettext_noop ("# validations running"),
+ validations_running,
+ GNUNET_NO);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Validation finished, %u validation processes running\n",
+ validations_running);
}
GNUNET_free (ve);
return GNUNET_OK;
@@ -537,11 +541,6 @@
GST_plugins_a2s (ve->address),
ve->address->transport_name);
- next = GNUNET_TIME_absolute_add (GNUNET_TIME_absolute_get(),
- validation_delay);
- if (next.abs_value_us > validation_next.abs_value_us)
- validation_next = next; /* We're going to send a PING so delay next
validation */
-
slen = strlen (ve->address->transport_name) + 1;
hello = GST_hello_get ();
hsize = ntohs (hello->size);
@@ -559,8 +558,7 @@
if (tsize >= GNUNET_SERVER_MAX_MESSAGE_SIZE)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _
- ("Not transmitting `%s' with `%s', message too big (%u
bytes!). This should not happen.\n"),
+ _("Not transmitting `%s' with `%s', message too big (%u
bytes!). This should not happen.\n"),
"HELLO", "PING", (unsigned int) tsize);
/* message too big (!?), get rid of HELLO */
hsize = 0;
@@ -580,15 +578,21 @@
memcpy (&message_buf[sizeof (struct TransportPingMessage) + slen + hsize],
ve->address->address, ve->address->address_length);
papi = GST_plugins_find (ve->address->transport_name);
- if (papi == NULL)
+ if (NULL == papi)
+ {
ret = -1;
+ GNUNET_STATISTICS_update (GST_stats,
+ gettext_noop ("# validations not attempted (no
plugin)"),
+ 1,
+ GNUNET_NO);
+ }
else
{
GNUNET_assert (NULL != papi->send);
GNUNET_assert (NULL != papi->get_session);
struct Session * session = papi->get_session(papi->cls, ve->address);
- if (session != NULL)
+ if (NULL != session)
{
ret = papi->send (papi->cls, session,
message_buf, tsize,
@@ -618,18 +622,24 @@
}
if (-1 != ret)
{
+ next = GNUNET_TIME_relative_to_absolute (validation_delay);
+ validation_next = GNUNET_MAX (next,
+ validation_next);
ve->send_time = GNUNET_TIME_absolute_get ();
GNUNET_STATISTICS_update (GST_stats,
- gettext_noop
- ("# PING without HELLO messages sent"), 1,
+ gettext_noop ("# PING for validation (without
HELLO) sent"),
+ 1,
GNUNET_NO);
-
ve->network = network;
ve->expecting_pong = GNUNET_YES;
validations_running++;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Validation started, %u validation processes running\n",
validations_running);
+ GNUNET_STATISTICS_set (GST_stats,
+ gettext_noop ("# validations running"),
+ validations_running,
+ GNUNET_NO);
/* Notify about PING sent */
validation_entry_changed (ve, GNUNET_TRANSPORT_VS_UPDATE);
}
@@ -678,8 +688,9 @@
GNUNET_YES),
GST_plugins_a2s (ve->address));
ve->revalidation_task =
- GNUNET_SCHEDULER_add_delayed (delay, &revalidate_address, ve);
- ve->next_validation =
GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), delay);
+ GNUNET_SCHEDULER_add_delayed (delay,
+ &revalidate_address, ve);
+ ve->next_validation = GNUNET_TIME_relative_to_absolute (delay);
return;
}
blocked_for = GNUNET_TIME_absolute_get_remaining(validation_next);
@@ -694,7 +705,7 @@
GST_plugins_a2s (ve->address));
ve->revalidation_task =
GNUNET_SCHEDULER_add_delayed (blocked_for, &revalidate_address, ve);
- ve->next_validation =
GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), blocked_for);
+ ve->next_validation = GNUNET_TIME_relative_to_absolute (blocked_for);
return;
}
ve->revalidation_block = GNUNET_TIME_relative_to_absolute (canonical_delay);
@@ -715,7 +726,7 @@
GST_plugins_a2s (ve->address));
ve->revalidation_task =
GNUNET_SCHEDULER_add_delayed (delay, &revalidate_address, ve);
- ve->next_validation = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(),
delay);
+ ve->next_validation = GNUNET_TIME_relative_to_absolute (delay);
/* start PINGing by checking blacklist */
GNUNET_STATISTICS_update (GST_stats,
@@ -884,6 +895,10 @@
validation_delay.rel_value_us =
(GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value_us) / (max_fds / 2);
validations_fast_start_threshold = (max_fds / 2);
validations_running = 0;
+ GNUNET_STATISTICS_set (GST_stats,
+ gettext_noop ("# validations running"),
+ validations_running,
+ GNUNET_NO);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Validation uses a fast start threshold of %u connections and a
delay between of %s\n ",
validations_fast_start_threshold,
@@ -1450,6 +1465,10 @@
GNUNET_i2s (sender),
tname,
GST_plugins_a2s (ve->address));
+ GNUNET_STATISTICS_update (GST_stats,
+ gettext_noop ("# validations succeeded"),
+ 1,
+ GNUNET_NO);
/* validity achieved, remember it! */
ve->expecting_pong = GNUNET_NO;
ve->valid_until = GNUNET_TIME_relative_to_absolute
(HELLO_ADDRESS_EXPIRATION);
@@ -1468,6 +1487,10 @@
if (validations_running > 0)
{
validations_running --;
+ GNUNET_STATISTICS_set (GST_stats,
+ gettext_noop ("# validations running"),
+ validations_running,
+ GNUNET_NO);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Validation finished, %u validation processes running\n",
validations_running);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r34822 - gnunet/src/transport,
gnunet <=