aboutsummaryrefslogtreecommitdiff
path: root/src/transport/plugin_transport_udp.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2012-06-29 09:26:40 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2012-06-29 09:26:40 +0000
commit2265f50f2fa412d412fe239f44c0264b99d494d6 (patch)
tree4abf177ae7d3d006329da61cbc98d4553631c436 /src/transport/plugin_transport_udp.c
parent65bd2954fccfb94b0ccc91eba559d73c2852f803 (diff)
downloadgnunet-2265f50f2fa412d412fe239f44c0264b99d494d6.tar.gz
gnunet-2265f50f2fa412d412fe239f44c0264b99d494d6.zip
- fixed session code
Diffstat (limited to 'src/transport/plugin_transport_udp.c')
-rw-r--r--src/transport/plugin_transport_udp.c39
1 files changed, 18 insertions, 21 deletions
diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c
index 5773614d7..5a1257845 100644
--- a/src/transport/plugin_transport_udp.c
+++ b/src/transport/plugin_transport_udp.c
@@ -704,7 +704,7 @@ disconnect_session (struct Session *s)
704 s, 704 s,
705 GNUNET_i2s (&s->target), 705 GNUNET_i2s (&s->target),
706 GNUNET_a2s (s->sock_addr, s->addrlen)); 706 GNUNET_a2s (s->sock_addr, s->addrlen));
707 stop_session_timeout(s); 707 stop_session_timeout (s);
708 next = plugin->ipv4_queue_head; 708 next = plugin->ipv4_queue_head;
709 while (NULL != (udpw = next)) 709 while (NULL != (udpw = next))
710 { 710 {
@@ -2192,15 +2192,14 @@ session_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
2192 struct Session *s = cls; 2192 struct Session *s = cls;
2193 2193
2194 s->timeout_task = GNUNET_SCHEDULER_NO_TASK; 2194 s->timeout_task = GNUNET_SCHEDULER_NO_TASK;
2195 2195 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
2196 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Session %p was idle for %llu, disconnecting\n", 2196 "Session %p was idle for %llu ms, disconnecting\n",
2197 s, GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value); 2197 s, (unsigned long long) GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value);
2198
2199 /* call session destroy function */ 2198 /* call session destroy function */
2200 disconnect_session(s); 2199 disconnect_session(s);
2201
2202} 2200}
2203 2201
2202
2204/** 2203/**
2205 * Start session timeout 2204 * Start session timeout
2206 */ 2205 */
@@ -2209,15 +2208,15 @@ start_session_timeout (struct Session *s)
2209{ 2208{
2210 GNUNET_assert (NULL != s); 2209 GNUNET_assert (NULL != s);
2211 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == s->timeout_task); 2210 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == s->timeout_task);
2212
2213 s->timeout_task = GNUNET_SCHEDULER_add_delayed (GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT, 2211 s->timeout_task = GNUNET_SCHEDULER_add_delayed (GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT,
2214 &session_timeout, 2212 &session_timeout,
2215 s); 2213 s);
2216 2214 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
2217 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Timeout for session %p set to %llu\n", 2215 "Timeout for session %p set to %llu ms\n",
2218 s, GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value); 2216 s, (unsigned long long) GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value);
2219} 2217}
2220 2218
2219
2221/** 2220/**
2222 * Increment session timeout due to activity 2221 * Increment session timeout due to activity
2223 */ 2222 */
@@ -2231,11 +2230,12 @@ reschedule_session_timeout (struct Session *s)
2231 s->timeout_task = GNUNET_SCHEDULER_add_delayed (GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT, 2230 s->timeout_task = GNUNET_SCHEDULER_add_delayed (GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT,
2232 &session_timeout, 2231 &session_timeout,
2233 s); 2232 s);
2234 2233 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
2235 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Timeout rescheduled for session %p set to %llu\n", 2234 "Timeout rescheduled for session %p set to %llu ms\n",
2236 s, GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value); 2235 s, (unsigned long long) GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value);
2237} 2236}
2238 2237
2238
2239/** 2239/**
2240 * Cancel timeout 2240 * Cancel timeout
2241 */ 2241 */
@@ -2248,17 +2248,14 @@ stop_session_timeout (struct Session *s)
2248 { 2248 {
2249 GNUNET_SCHEDULER_cancel (s->timeout_task); 2249 GNUNET_SCHEDULER_cancel (s->timeout_task);
2250 s->timeout_task = GNUNET_SCHEDULER_NO_TASK; 2250 s->timeout_task = GNUNET_SCHEDULER_NO_TASK;
2251 2251 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
2252 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Timeout rescheduled for session %p canceled\n", 2252 "Timeout stopped for session %p canceled\n",
2253 s, GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value); 2253 s, (unsigned long long) GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value);
2254 }
2255 else
2256 {
2257 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Timeout for session %p was not active\n",
2258 s);
2259 } 2254 }
2260} 2255}
2261 2256
2257
2258
2262/** 2259/**
2263 * The exported method. Makes the core api available via a global and 2260 * The exported method. Makes the core api available via a global and
2264 * returns the udp transport API. 2261 * returns the udp transport API.