diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2012-06-21 14:42:54 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2012-06-21 14:42:54 +0000 |
commit | 40c8383cbd3decba4d605d6f94b102a1ed18a825 (patch) | |
tree | 11aa480f80b2c6f3630bb4128a0cefed60b173aa /src/stream/stream_api.c | |
parent | ed2c4e1a48219c6daae03fd161fd311f22afe05f (diff) | |
download | gnunet-40c8383cbd3decba4d605d6f94b102a1ed18a825.tar.gz gnunet-40c8383cbd3decba4d605d6f94b102a1ed18a825.zip |
-added stream listen success callback
Diffstat (limited to 'src/stream/stream_api.c')
-rw-r--r-- | src/stream/stream_api.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/stream/stream_api.c b/src/stream/stream_api.c index cd89a1de3..f042ccc93 100644 --- a/src/stream/stream_api.c +++ b/src/stream/stream_api.c | |||
@@ -389,6 +389,11 @@ struct GNUNET_STREAM_ListenSocket | |||
389 | struct GNUNET_LOCKMANAGER_LockingRequest *locking_request; | 389 | struct GNUNET_LOCKMANAGER_LockingRequest *locking_request; |
390 | 390 | ||
391 | /** | 391 | /** |
392 | * Callback to call after acquring a lock and listening | ||
393 | */ | ||
394 | GNUNET_STREAM_ListenSuccessCallback listen_ok_cb; | ||
395 | |||
396 | /** | ||
392 | * The callback function which is called after successful opening socket | 397 | * The callback function which is called after successful opening socket |
393 | */ | 398 | */ |
394 | GNUNET_STREAM_ListenCallback listen_cb; | 399 | GNUNET_STREAM_ListenCallback listen_cb; |
@@ -2873,6 +2878,10 @@ lock_status_change_cb (void *cls, const char *domain, uint32_t lock, | |||
2873 | server_message_handlers, | 2878 | server_message_handlers, |
2874 | ports); | 2879 | ports); |
2875 | GNUNET_assert (NULL != lsocket->mesh); | 2880 | GNUNET_assert (NULL != lsocket->mesh); |
2881 | if (NULL != lsocket->listen_ok_cb) | ||
2882 | { | ||
2883 | (void) lsocket->listen_ok_cb (); | ||
2884 | } | ||
2876 | } | 2885 | } |
2877 | } | 2886 | } |
2878 | if (GNUNET_LOCKMANAGER_RELEASE == status) | 2887 | if (GNUNET_LOCKMANAGER_RELEASE == status) |
@@ -2939,6 +2948,9 @@ GNUNET_STREAM_open (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
2939 | case GNUNET_STREAM_OPTION_LISTEN_TIMEOUT: | 2948 | case GNUNET_STREAM_OPTION_LISTEN_TIMEOUT: |
2940 | GNUNET_break (0); /* Option irrelevant in STREAM_open */ | 2949 | GNUNET_break (0); /* Option irrelevant in STREAM_open */ |
2941 | break; | 2950 | break; |
2951 | case GNUNET_STREAM_OPTION_SIGNAL_LISTEN_SUCCESS: | ||
2952 | GNUNET_break (0); /* Option irrelevant in STREAM_open */ | ||
2953 | break; | ||
2942 | case GNUNET_STREAM_OPTION_END: | 2954 | case GNUNET_STREAM_OPTION_END: |
2943 | break; | 2955 | break; |
2944 | } | 2956 | } |
@@ -3200,7 +3212,8 @@ GNUNET_STREAM_listen (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
3200 | lsocket->retransmit_timeout = | 3212 | lsocket->retransmit_timeout = |
3201 | GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, default_timeout); | 3213 | GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, default_timeout); |
3202 | lsocket->testing_active = GNUNET_NO; | 3214 | lsocket->testing_active = GNUNET_NO; |
3203 | listen_timeout = TIME_REL_SECS (60); /* A minute for listen timeout */ | 3215 | lsocket->listen_ok_cb = NULL; |
3216 | listen_timeout = TIME_REL_SECS (60); /* A minute for listen timeout */ | ||
3204 | va_start (vargs, listen_cb_cls); | 3217 | va_start (vargs, listen_cb_cls); |
3205 | do { | 3218 | do { |
3206 | option = va_arg (vargs, enum GNUNET_STREAM_Option); | 3219 | option = va_arg (vargs, enum GNUNET_STREAM_Option); |
@@ -3219,6 +3232,10 @@ GNUNET_STREAM_listen (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
3219 | listen_timeout = GNUNET_TIME_relative_multiply | 3232 | listen_timeout = GNUNET_TIME_relative_multiply |
3220 | (GNUNET_TIME_UNIT_MILLISECONDS, va_arg (vargs, uint32_t)); | 3233 | (GNUNET_TIME_UNIT_MILLISECONDS, va_arg (vargs, uint32_t)); |
3221 | break; | 3234 | break; |
3235 | case GNUNET_STREAM_OPTION_SIGNAL_LISTEN_SUCCESS: | ||
3236 | lsocket->listen_ok_cb = va_arg (vargs, | ||
3237 | GNUNET_STREAM_ListenSuccessCallback); | ||
3238 | break; | ||
3222 | case GNUNET_STREAM_OPTION_END: | 3239 | case GNUNET_STREAM_OPTION_END: |
3223 | break; | 3240 | break; |
3224 | } | 3241 | } |