From 9817670b9465d68dd7ca7f27a40df273f0cbb16b Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 23 Oct 2011 16:34:12 +0000 Subject: undo 17963, better solution ahead --- src/transport/plugin_transport_http.c | 1 - src/transport/plugin_transport_http_client.c | 6 +----- src/transport/plugin_transport_http_server.c | 7 ++----- src/transport/plugin_transport_tcp.c | 2 -- src/transport/plugin_transport_udp.c | 4 ---- src/transport/plugin_transport_wlan.c | 17 ++++++----------- 6 files changed, 9 insertions(+), 28 deletions(-) (limited to 'src/transport') diff --git a/src/transport/plugin_transport_http.c b/src/transport/plugin_transport_http.c index 430d13330..784dd3002 100644 --- a/src/transport/plugin_transport_http.c +++ b/src/transport/plugin_transport_http.c @@ -248,7 +248,6 @@ http_plugin_address_suggested (void *cls, const void *addr, size_t addrlen) return GNUNET_OK; } - struct GNUNET_TIME_Relative http_plugin_receive (void *cls, const struct GNUNET_PeerIdentity * peer, const struct GNUNET_MessageHeader * message, diff --git a/src/transport/plugin_transport_http_client.c b/src/transport/plugin_transport_http_client.c index a27997d33..a2024953c 100644 --- a/src/transport/plugin_transport_http_client.c +++ b/src/transport/plugin_transport_http_client.c @@ -322,11 +322,7 @@ client_receive_mst_cb (void *cls, void *client, struct GNUNET_TIME_Relative delay; delay = http_plugin_receive (s, &s->target, message, s, s->addr, s->addrlen); - if (delay.rel_value == GNUNET_TIME_UNIT_FOREVER_REL.rel_value) - { - // FIXME: terminate connection! - } - s->next_receive = GNUNET_TIME_relative_to_absolute (delay); + s->next_receive = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), delay); if (GNUNET_TIME_absolute_get().abs_value < s->next_receive.abs_value) { diff --git a/src/transport/plugin_transport_http_server.c b/src/transport/plugin_transport_http_server.c index 7733c6323..158532aca 100644 --- a/src/transport/plugin_transport_http_server.c +++ b/src/transport/plugin_transport_http_server.c @@ -278,11 +278,8 @@ server_receive_mst_cb (void *cls, void *client, struct GNUNET_TIME_Relative delay; delay = http_plugin_receive (s, &s->target, message, s, s->addr, s->addrlen); - if (delay.rel_value == GNUNET_TIME_UNIT_FOREVER_REL.rel_value) - { - // FIXME: terminate connection! - } - s->next_receive = GNUNET_TIME_relative_to_absolute (delay); + + s->next_receive = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), delay); if (delay.rel_value > 0) { diff --git a/src/transport/plugin_transport_tcp.c b/src/transport/plugin_transport_tcp.c index edbcb0e17..5a77f25b5 100644 --- a/src/transport/plugin_transport_tcp.c +++ b/src/transport/plugin_transport_tcp.c @@ -1685,8 +1685,6 @@ delayed_done (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) NULL, 0); if (delay.rel_value == 0) GNUNET_SERVER_receive_done (session->client, GNUNET_OK); - else if (delay.rel_value == GNUNET_TIME_UNIT_FOREVER_REL.rel_value) - GNUNET_SERVER_receive_done (session->client, GNUNET_SYSERR); else session->receive_delay_task = GNUNET_SCHEDULER_add_delayed (delay, &delayed_done, session); diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c index 077fe38e3..9812416de 100644 --- a/src/transport/plugin_transport_udp.c +++ b/src/transport/plugin_transport_udp.c @@ -861,10 +861,6 @@ process_inbound_tokenized_messages (void *cls, void *client, "Giving Session %X %s to transport\n", si->session, GNUNET_i2s(&si->session->target)); delay = plugin->env->receive (plugin->env->cls, &si->sender, hdr, &distance, 1, si->session, si->arg, si->args); - if (delay.rel_value == GNUNET_TIME_UNIT_FOREVER_REL.rel_value) - { - // FIXME: terminate session! - } si->session->flow_delay_for_other_peer = delay; } diff --git a/src/transport/plugin_transport_wlan.c b/src/transport/plugin_transport_wlan.c index 160b5924c..b3faf4480 100644 --- a/src/transport/plugin_transport_wlan.c +++ b/src/transport/plugin_transport_wlan.c @@ -2333,7 +2333,7 @@ process_data (void *cls, void *client, const struct GNUNET_MessageHeader *hdr) GNUNET_assert (cls != NULL); struct Session *session = (struct Session *) client; struct Plugin *plugin = (struct Plugin *) cls; - struct GNUNET_TIME_Relative delay; + struct GNUNET_ATS_Information distance; distance.type = htonl (GNUNET_ATS_QUALITY_NET_DISTANCE); @@ -2348,16 +2348,11 @@ process_data (void *cls, void *client, const struct GNUNET_MessageHeader *hdr) htons (hdr->size)); #endif - delay = plugin->env->receive (plugin->env->cls, &(session->target), hdr, - (const struct GNUNET_ATS_Information *) - &distance, 1, session, - (const char *) &session->mac->addr, - sizeof (session->mac->addr)); - if (delay.rel_value == GNUNET_TIME_UNIT_FOREVER_REL.rel_value) - { - // FIXME: terminate session! - } - + plugin->env->receive (plugin->env->cls, &(session->target), hdr, + (const struct GNUNET_ATS_Information *) + &distance, 1, session, + (const char *) &session->mac->addr, + sizeof (session->mac->addr)); } /** -- cgit v1.2.3