aboutsummaryrefslogtreecommitdiff
path: root/src/stream
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2012-06-21 10:47:41 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2012-06-21 10:47:41 +0000
commitcbe53564d0bb4b42d5549854c6f16cc1b7781257 (patch)
tree915f2952830536de1f2c380b75a0e7d1c8a82d2c /src/stream
parent4720597f680ae81b1a7c5e43f6d05bc1fdbe183f (diff)
downloadgnunet-cbe53564d0bb4b42d5549854c6f16cc1b7781257.tar.gz
gnunet-cbe53564d0bb4b42d5549854c6f16cc1b7781257.zip
-stream listen timeout option
Diffstat (limited to 'src/stream')
-rw-r--r--src/stream/stream_api.c11
-rw-r--r--src/stream/test_stream_sequence_wraparound.c6
2 files changed, 14 insertions, 3 deletions
diff --git a/src/stream/stream_api.c b/src/stream/stream_api.c
index e27f4df1f..cd89a1de3 100644
--- a/src/stream/stream_api.c
+++ b/src/stream/stream_api.c
@@ -2936,6 +2936,9 @@ GNUNET_STREAM_open (const struct GNUNET_CONFIGURATION_Handle *cfg,
2936 socket->testing_set_write_sequence_number_value = va_arg (vargs, 2936 socket->testing_set_write_sequence_number_value = va_arg (vargs,
2937 uint32_t); 2937 uint32_t);
2938 break; 2938 break;
2939 case GNUNET_STREAM_OPTION_LISTEN_TIMEOUT:
2940 GNUNET_break (0); /* Option irrelevant in STREAM_open */
2941 break;
2939 case GNUNET_STREAM_OPTION_END: 2942 case GNUNET_STREAM_OPTION_END:
2940 break; 2943 break;
2941 } 2944 }
@@ -3178,6 +3181,7 @@ GNUNET_STREAM_listen (const struct GNUNET_CONFIGURATION_Handle *cfg,
3178{ 3181{
3179 /* FIXME: Add variable args for passing configration options? */ 3182 /* FIXME: Add variable args for passing configration options? */
3180 struct GNUNET_STREAM_ListenSocket *lsocket; 3183 struct GNUNET_STREAM_ListenSocket *lsocket;
3184 struct GNUNET_TIME_Relative listen_timeout;
3181 enum GNUNET_STREAM_Option option; 3185 enum GNUNET_STREAM_Option option;
3182 va_list vargs; 3186 va_list vargs;
3183 3187
@@ -3196,6 +3200,7 @@ GNUNET_STREAM_listen (const struct GNUNET_CONFIGURATION_Handle *cfg,
3196 lsocket->retransmit_timeout = 3200 lsocket->retransmit_timeout =
3197 GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, default_timeout); 3201 GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, default_timeout);
3198 lsocket->testing_active = GNUNET_NO; 3202 lsocket->testing_active = GNUNET_NO;
3203 listen_timeout = TIME_REL_SECS (60); /* A minute for listen timeout */
3199 va_start (vargs, listen_cb_cls); 3204 va_start (vargs, listen_cb_cls);
3200 do { 3205 do {
3201 option = va_arg (vargs, enum GNUNET_STREAM_Option); 3206 option = va_arg (vargs, enum GNUNET_STREAM_Option);
@@ -3210,6 +3215,10 @@ GNUNET_STREAM_listen (const struct GNUNET_CONFIGURATION_Handle *cfg,
3210 lsocket->testing_set_write_sequence_number_value = va_arg (vargs, 3215 lsocket->testing_set_write_sequence_number_value = va_arg (vargs,
3211 uint32_t); 3216 uint32_t);
3212 break; 3217 break;
3218 case GNUNET_STREAM_OPTION_LISTEN_TIMEOUT:
3219 listen_timeout = GNUNET_TIME_relative_multiply
3220 (GNUNET_TIME_UNIT_MILLISECONDS, va_arg (vargs, uint32_t));
3221 break;
3213 case GNUNET_STREAM_OPTION_END: 3222 case GNUNET_STREAM_OPTION_END:
3214 break; 3223 break;
3215 } 3224 }
@@ -3223,7 +3232,7 @@ GNUNET_STREAM_listen (const struct GNUNET_CONFIGURATION_Handle *cfg,
3223 (uint32_t) lsocket->port, 3232 (uint32_t) lsocket->port,
3224 &lock_status_change_cb, lsocket); 3233 &lock_status_change_cb, lsocket);
3225 lsocket->lockmanager_acquire_timeout_task = 3234 lsocket->lockmanager_acquire_timeout_task =
3226 GNUNET_SCHEDULER_add_delayed (TIME_REL_SECS (20), 3235 GNUNET_SCHEDULER_add_delayed (listen_timeout,
3227 &lockmanager_acquire_timeout, lsocket); 3236 &lockmanager_acquire_timeout, lsocket);
3228 return lsocket; 3237 return lsocket;
3229} 3238}
diff --git a/src/stream/test_stream_sequence_wraparound.c b/src/stream/test_stream_sequence_wraparound.c
index b00de0b1c..ffd2eb5fb 100644
--- a/src/stream/test_stream_sequence_wraparound.c
+++ b/src/stream/test_stream_sequence_wraparound.c
@@ -353,12 +353,14 @@ run (void *cls,
353 10, /* App port */ 353 10, /* App port */
354 &stream_listen_cb, 354 &stream_listen_cb,
355 NULL, 355 NULL,
356 GNUNET_STREAM_OPTION_LISTEN_TIMEOUT,
357 30 * 1000,
356 GNUNET_STREAM_OPTION_END); 358 GNUNET_STREAM_OPTION_END);
357 GNUNET_assert (NULL != peer2_listen_socket); 359 GNUNET_assert (NULL != peer2_listen_socket);
358 GNUNET_SCHEDULER_add_delayed (TIME_REL_SECS(2), &stream_connect, &peer1); 360 GNUNET_SCHEDULER_add_delayed (TIME_REL_SECS(10), &stream_connect, &peer1);
359 abort_task = 361 abort_task =
360 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply 362 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply
361 (GNUNET_TIME_UNIT_SECONDS, 60), &do_abort, 363 (GNUNET_TIME_UNIT_SECONDS, 100), &do_abort,
362 NULL); 364 NULL);
363} 365}
364 366