[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r17693 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r17693 - gnunet/src/transport |
Date: |
Sun, 23 Oct 2011 17:18:48 +0200 |
Author: grothoff
Date: 2011-10-23 17:18:48 +0200 (Sun, 23 Oct 2011)
New Revision: 17693
Modified:
gnunet/src/transport/plugin_transport_http.c
gnunet/src/transport/plugin_transport_http_client.c
gnunet/src/transport/plugin_transport_http_server.c
gnunet/src/transport/plugin_transport_tcp.c
gnunet/src/transport/plugin_transport_udp.c
gnunet/src/transport/plugin_transport_wlan.c
Log:
Adding FIXMEs: if delay is FOREVER, session should be terminated
Modified: gnunet/src/transport/plugin_transport_http.c
===================================================================
--- gnunet/src/transport/plugin_transport_http.c 2011-10-23 15:07:09 UTC
(rev 17692)
+++ gnunet/src/transport/plugin_transport_http.c 2011-10-23 15:18:48 UTC
(rev 17693)
@@ -248,6 +248,7 @@
return GNUNET_OK;
}
+
struct GNUNET_TIME_Relative
http_plugin_receive (void *cls, const struct GNUNET_PeerIdentity * peer,
const struct GNUNET_MessageHeader * message,
Modified: gnunet/src/transport/plugin_transport_http_client.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_client.c 2011-10-23 15:07:09 UTC
(rev 17692)
+++ gnunet/src/transport/plugin_transport_http_client.c 2011-10-23 15:18:48 UTC
(rev 17693)
@@ -322,7 +322,11 @@
struct GNUNET_TIME_Relative delay;
delay = http_plugin_receive (s, &s->target, message, s, s->addr, s->addrlen);
- s->next_receive = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(),
delay);
+ if (delay.rel_value == GNUNET_TIME_UNIT_FOREVER_REL.rel_value)
+ {
+ // FIXME: terminate connection!
+ }
+ s->next_receive = GNUNET_TIME_relative_to_absolute (delay);
if (GNUNET_TIME_absolute_get().abs_value < s->next_receive.abs_value)
{
Modified: gnunet/src/transport/plugin_transport_http_server.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_server.c 2011-10-23 15:07:09 UTC
(rev 17692)
+++ gnunet/src/transport/plugin_transport_http_server.c 2011-10-23 15:18:48 UTC
(rev 17693)
@@ -278,9 +278,12 @@
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)
{
#if VERBOSE_CLIENT
Modified: gnunet/src/transport/plugin_transport_tcp.c
===================================================================
--- gnunet/src/transport/plugin_transport_tcp.c 2011-10-23 15:07:09 UTC (rev
17692)
+++ gnunet/src/transport/plugin_transport_tcp.c 2011-10-23 15:18:48 UTC (rev
17693)
@@ -1685,6 +1685,8 @@
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);
Modified: gnunet/src/transport/plugin_transport_udp.c
===================================================================
--- gnunet/src/transport/plugin_transport_udp.c 2011-10-23 15:07:09 UTC (rev
17692)
+++ gnunet/src/transport/plugin_transport_udp.c 2011-10-23 15:18:48 UTC (rev
17693)
@@ -861,6 +861,10 @@
"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;
}
Modified: gnunet/src/transport/plugin_transport_wlan.c
===================================================================
--- gnunet/src/transport/plugin_transport_wlan.c 2011-10-23 15:07:09 UTC
(rev 17692)
+++ gnunet/src/transport/plugin_transport_wlan.c 2011-10-23 15:18:48 UTC
(rev 17693)
@@ -2333,7 +2333,7 @@
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,11 +2348,16 @@
htons (hdr->size));
#endif
- 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));
+ 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!
+ }
+
}
/**
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r17693 - gnunet/src/transport,
gnunet <=