diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-06-06 11:52:54 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-06-06 11:52:54 +0000 |
commit | 974cf0e80d8b65d459aa9cf15448184e657d3e39 (patch) | |
tree | f38dd3787e5effd2edf7366bbf2eeb344651b24c /src | |
parent | 59e49f5bfd27f228c73dfbefbc010bbb3fd94774 (diff) | |
download | gnunet-974cf0e80d8b65d459aa9cf15448184e657d3e39.tar.gz gnunet-974cf0e80d8b65d459aa9cf15448184e657d3e39.zip |
disable warning if we intentionally throttle a connection
Diffstat (limited to 'src')
-rw-r--r-- | src/include/gnunet_server_lib.h | 10 | ||||
-rw-r--r-- | src/transport/gnunet-service-transport.c | 8 | ||||
-rw-r--r-- | src/transport/plugin_transport_tcp.c | 5 | ||||
-rw-r--r-- | src/util/server.c | 18 |
4 files changed, 35 insertions, 6 deletions
diff --git a/src/include/gnunet_server_lib.h b/src/include/gnunet_server_lib.h index a0097589b..ca2041984 100644 --- a/src/include/gnunet_server_lib.h +++ b/src/include/gnunet_server_lib.h | |||
@@ -226,6 +226,16 @@ GNUNET_SERVER_client_persist_ (struct GNUNET_SERVER_Client *client); | |||
226 | void | 226 | void |
227 | GNUNET_SERVER_receive_done (struct GNUNET_SERVER_Client *client, int success); | 227 | GNUNET_SERVER_receive_done (struct GNUNET_SERVER_Client *client, int success); |
228 | 228 | ||
229 | /** | ||
230 | * Disable the warning the server issues if a message is not acknowledged | ||
231 | * in a timely fashion. Use this call if a client is intentionally delayed | ||
232 | * for a while. Only applies to the current message. | ||
233 | * | ||
234 | * @param client client for which to disable the warning | ||
235 | */ | ||
236 | void | ||
237 | GNUNET_SERVER_disable_receive_done_warning (struct GNUNET_SERVER_Client *client); | ||
238 | |||
229 | 239 | ||
230 | /** | 240 | /** |
231 | * Inject a message into the server, pretend it came | 241 | * Inject a message into the server, pretend it came |
diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c index b34c0305a..5826adfec 100644 --- a/src/transport/gnunet-service-transport.c +++ b/src/transport/gnunet-service-transport.c | |||
@@ -5474,8 +5474,8 @@ plugin_env_receive (void *cls, const struct GNUNET_PeerIdentity *peer, | |||
5474 | ret = GNUNET_BANDWIDTH_tracker_get_delay (&n->in_tracker, 0); | 5474 | ret = GNUNET_BANDWIDTH_tracker_get_delay (&n->in_tracker, 0); |
5475 | if (ret.rel_value > 0) | 5475 | if (ret.rel_value > 0) |
5476 | { | 5476 | { |
5477 | #if DEBUG_TRANSPORT || 1 | 5477 | #if DEBUG_TRANSPORT |
5478 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 5478 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
5479 | "Throttling read (%llu bytes excess at %u b/s), waiting %llu ms before reading more.\n", | 5479 | "Throttling read (%llu bytes excess at %u b/s), waiting %llu ms before reading more.\n", |
5480 | (unsigned long long) n->in_tracker.consumption_since_last_update__, | 5480 | (unsigned long long) n->in_tracker.consumption_since_last_update__, |
5481 | (unsigned int) n->in_tracker.available_bytes_per_s__, | 5481 | (unsigned int) n->in_tracker.available_bytes_per_s__, |
@@ -5778,8 +5778,8 @@ handle_set_quota (void *cls, | |||
5778 | GNUNET_NO); | 5778 | GNUNET_NO); |
5779 | return; | 5779 | return; |
5780 | } | 5780 | } |
5781 | #if DEBUG_TRANSPORT | 5781 | #if DEBUG_TRANSPORT || 1 |
5782 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 5782 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
5783 | "Received `%s' request (new quota %u, old quota %u) from client for peer `%4s'\n", | 5783 | "Received `%s' request (new quota %u, old quota %u) from client for peer `%4s'\n", |
5784 | "SET_QUOTA", | 5784 | "SET_QUOTA", |
5785 | (unsigned int) ntohl (qsm->quota.value__), | 5785 | (unsigned int) ntohl (qsm->quota.value__), |
diff --git a/src/transport/plugin_transport_tcp.c b/src/transport/plugin_transport_tcp.c index 8d1f90590..1c22ce806 100644 --- a/src/transport/plugin_transport_tcp.c +++ b/src/transport/plugin_transport_tcp.c | |||
@@ -2106,13 +2106,14 @@ handle_tcp_data (void *cls, | |||
2106 | } | 2106 | } |
2107 | else | 2107 | else |
2108 | { | 2108 | { |
2109 | #if DEBUG_TCP || 1 | 2109 | #if DEBUG_TCP |
2110 | GNUNET_log_from (GNUNET_ERROR_TYPE_INFO, | 2110 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, |
2111 | "tcp", | 2111 | "tcp", |
2112 | "Throttling receiving from `%s' for %llu ms\n", | 2112 | "Throttling receiving from `%s' for %llu ms\n", |
2113 | GNUNET_i2s (&session->target), | 2113 | GNUNET_i2s (&session->target), |
2114 | (unsigned long long) delay.rel_value); | 2114 | (unsigned long long) delay.rel_value); |
2115 | #endif | 2115 | #endif |
2116 | GNUNET_SERVER_disable_receive_done_warning (client); | ||
2116 | session->receive_delay_task = | 2117 | session->receive_delay_task = |
2117 | GNUNET_SCHEDULER_add_delayed (delay, &delayed_done, session); | 2118 | GNUNET_SCHEDULER_add_delayed (delay, &delayed_done, session); |
2118 | } | 2119 | } |
diff --git a/src/util/server.c b/src/util/server.c index 63131bb85..738f86216 100644 --- a/src/util/server.c +++ b/src/util/server.c | |||
@@ -599,6 +599,24 @@ warn_no_receive_done (void *cls, | |||
599 | 599 | ||
600 | 600 | ||
601 | /** | 601 | /** |
602 | * Disable the warning the server issues if a message is not acknowledged | ||
603 | * in a timely fashion. Use this call if a client is intentionally delayed | ||
604 | * for a while. Only applies to the current message. | ||
605 | * | ||
606 | * @param client client for which to disable the warning | ||
607 | */ | ||
608 | void | ||
609 | GNUNET_SERVER_disable_receive_done_warning (struct GNUNET_SERVER_Client *client) | ||
610 | { | ||
611 | if (GNUNET_SCHEDULER_NO_TASK != client->warn_task) | ||
612 | { | ||
613 | GNUNET_SCHEDULER_cancel (client->warn_task); | ||
614 | client->warn_task = GNUNET_SCHEDULER_NO_TASK; | ||
615 | } | ||
616 | } | ||
617 | |||
618 | |||
619 | /** | ||
602 | * Inject a message into the server, pretend it came | 620 | * Inject a message into the server, pretend it came |
603 | * from the specified client. Delivery of the message | 621 | * from the specified client. Delivery of the message |
604 | * will happen instantly (if a handler is installed; | 622 | * will happen instantly (if a handler is installed; |