diff options
Diffstat (limited to 'src/dht/test_dht_api.c')
-rw-r--r-- | src/dht/test_dht_api.c | 53 |
1 files changed, 23 insertions, 30 deletions
diff --git a/src/dht/test_dht_api.c b/src/dht/test_dht_api.c index 5eeb44d13..de3d97647 100644 --- a/src/dht/test_dht_api.c +++ b/src/dht/test_dht_api.c | |||
@@ -93,7 +93,6 @@ static struct PeerContext p1; | |||
93 | 93 | ||
94 | struct RetryContext retry_context; | 94 | struct RetryContext retry_context; |
95 | 95 | ||
96 | static struct GNUNET_SCHEDULER_Handle *sched; | ||
97 | 96 | ||
98 | static int ok; | 97 | static int ok; |
99 | 98 | ||
@@ -109,7 +108,7 @@ GNUNET_SCHEDULER_TaskIdentifier die_task; | |||
109 | static void | 108 | static void |
110 | end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 109 | end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
111 | { | 110 | { |
112 | GNUNET_SCHEDULER_cancel (sched, die_task); | 111 | GNUNET_SCHEDULER_cancel (die_task); |
113 | die_task = GNUNET_SCHEDULER_NO_TASK; | 112 | die_task = GNUNET_SCHEDULER_NO_TASK; |
114 | GNUNET_DHT_disconnect (p1.dht_handle); | 113 | GNUNET_DHT_disconnect (p1.dht_handle); |
115 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 114 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
@@ -152,7 +151,7 @@ end_badly () | |||
152 | GNUNET_DHT_get_stop (retry_context.peer_ctx->get_handle); | 151 | GNUNET_DHT_get_stop (retry_context.peer_ctx->get_handle); |
153 | } | 152 | } |
154 | if (retry_context.retry_task != GNUNET_SCHEDULER_NO_TASK) | 153 | if (retry_context.retry_task != GNUNET_SCHEDULER_NO_TASK) |
155 | GNUNET_SCHEDULER_cancel(sched, retry_context.retry_task); | 154 | GNUNET_SCHEDULER_cancel(retry_context.retry_task); |
156 | GNUNET_DHT_disconnect (p1.dht_handle); | 155 | GNUNET_DHT_disconnect (p1.dht_handle); |
157 | ok = 1; | 156 | ok = 1; |
158 | } | 157 | } |
@@ -173,8 +172,8 @@ test_find_peer_stop (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
173 | if (tc->reason == GNUNET_SCHEDULER_REASON_TIMEOUT) | 172 | if (tc->reason == GNUNET_SCHEDULER_REASON_TIMEOUT) |
174 | { | 173 | { |
175 | GNUNET_break (0); | 174 | GNUNET_break (0); |
176 | GNUNET_SCHEDULER_cancel (sched, die_task); | 175 | GNUNET_SCHEDULER_cancel (die_task); |
177 | GNUNET_SCHEDULER_add_now (sched, &end_badly, NULL); | 176 | GNUNET_SCHEDULER_add_now (&end_badly, NULL); |
178 | return; | 177 | return; |
179 | } | 178 | } |
180 | 179 | ||
@@ -187,8 +186,7 @@ test_find_peer_stop (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
187 | GNUNET_DHT_set_malicious_putter (peer->dht_handle, GNUNET_TIME_UNIT_SECONDS); | 186 | GNUNET_DHT_set_malicious_putter (peer->dht_handle, GNUNET_TIME_UNIT_SECONDS); |
188 | GNUNET_DHT_set_malicious_dropper (peer->dht_handle); | 187 | GNUNET_DHT_set_malicious_dropper (peer->dht_handle); |
189 | #endif | 188 | #endif |
190 | GNUNET_SCHEDULER_add_delayed(sched, | 189 | GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 1), |
191 | GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 1), | ||
192 | &end, &p1); | 190 | &end, &p1); |
193 | } | 191 | } |
194 | 192 | ||
@@ -214,11 +212,11 @@ void test_find_peer_processor (void *cls, | |||
214 | 212 | ||
215 | if (retry_ctx->retry_task != GNUNET_SCHEDULER_NO_TASK) | 213 | if (retry_ctx->retry_task != GNUNET_SCHEDULER_NO_TASK) |
216 | { | 214 | { |
217 | GNUNET_SCHEDULER_cancel(sched, retry_ctx->retry_task); | 215 | GNUNET_SCHEDULER_cancel(retry_ctx->retry_task); |
218 | retry_ctx->retry_task = GNUNET_SCHEDULER_NO_TASK; | 216 | retry_ctx->retry_task = GNUNET_SCHEDULER_NO_TASK; |
219 | } | 217 | } |
220 | 218 | ||
221 | GNUNET_SCHEDULER_add_continuation (sched, &test_find_peer_stop, &p1, | 219 | GNUNET_SCHEDULER_add_continuation (&test_find_peer_stop, &p1, |
222 | GNUNET_SCHEDULER_REASON_PREREQ_DONE); | 220 | GNUNET_SCHEDULER_REASON_PREREQ_DONE); |
223 | } | 221 | } |
224 | else | 222 | else |
@@ -273,11 +271,11 @@ retry_find_peer (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
273 | if (retry_ctx->peer_ctx->find_peer_handle == NULL) | 271 | if (retry_ctx->peer_ctx->find_peer_handle == NULL) |
274 | { | 272 | { |
275 | GNUNET_break (0); | 273 | GNUNET_break (0); |
276 | GNUNET_SCHEDULER_cancel (sched, die_task); | 274 | GNUNET_SCHEDULER_cancel (die_task); |
277 | GNUNET_SCHEDULER_add_now (sched, &end_badly, &p1); | 275 | GNUNET_SCHEDULER_add_now (&end_badly, &p1); |
278 | return; | 276 | return; |
279 | } | 277 | } |
280 | retry_ctx->retry_task = GNUNET_SCHEDULER_add_delayed(sched, retry_ctx->next_timeout, &retry_find_peer_stop, retry_ctx); | 278 | retry_ctx->retry_task = GNUNET_SCHEDULER_add_delayed(retry_ctx->next_timeout, &retry_find_peer_stop, retry_ctx); |
281 | } | 279 | } |
282 | 280 | ||
283 | /** | 281 | /** |
@@ -298,7 +296,7 @@ retry_find_peer_stop (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
298 | GNUNET_DHT_find_peer_stop(retry_ctx->peer_ctx->find_peer_handle); | 296 | GNUNET_DHT_find_peer_stop(retry_ctx->peer_ctx->find_peer_handle); |
299 | retry_ctx->peer_ctx->find_peer_handle = NULL; | 297 | retry_ctx->peer_ctx->find_peer_handle = NULL; |
300 | } | 298 | } |
301 | GNUNET_SCHEDULER_add_now (sched, &retry_find_peer, retry_ctx); | 299 | GNUNET_SCHEDULER_add_now (&retry_find_peer, retry_ctx); |
302 | } | 300 | } |
303 | 301 | ||
304 | /** | 302 | /** |
@@ -330,11 +328,11 @@ test_find_peer (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
330 | if (peer->find_peer_handle == NULL) | 328 | if (peer->find_peer_handle == NULL) |
331 | { | 329 | { |
332 | GNUNET_break (0); | 330 | GNUNET_break (0); |
333 | GNUNET_SCHEDULER_cancel (sched, die_task); | 331 | GNUNET_SCHEDULER_cancel (die_task); |
334 | GNUNET_SCHEDULER_add_now (sched, &end_badly, &p1); | 332 | GNUNET_SCHEDULER_add_now (&end_badly, &p1); |
335 | return; | 333 | return; |
336 | } | 334 | } |
337 | retry_context.retry_task = GNUNET_SCHEDULER_add_delayed(sched, retry_context.next_timeout, &retry_find_peer_stop, &retry_context); | 335 | retry_context.retry_task = GNUNET_SCHEDULER_add_delayed(retry_context.next_timeout, &retry_find_peer_stop, &retry_context); |
338 | } | 336 | } |
339 | 337 | ||
340 | /** | 338 | /** |
@@ -352,14 +350,13 @@ test_get_stop (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
352 | if (tc->reason == GNUNET_SCHEDULER_REASON_TIMEOUT) | 350 | if (tc->reason == GNUNET_SCHEDULER_REASON_TIMEOUT) |
353 | { | 351 | { |
354 | GNUNET_break (0); | 352 | GNUNET_break (0); |
355 | GNUNET_SCHEDULER_cancel (sched, die_task); | 353 | GNUNET_SCHEDULER_cancel (die_task); |
356 | GNUNET_SCHEDULER_add_now (sched, &end_badly, NULL); | 354 | GNUNET_SCHEDULER_add_now (&end_badly, NULL); |
357 | return; | 355 | return; |
358 | } | 356 | } |
359 | GNUNET_assert (peer->dht_handle != NULL); | 357 | GNUNET_assert (peer->dht_handle != NULL); |
360 | GNUNET_DHT_get_stop (peer->get_handle); | 358 | GNUNET_DHT_get_stop (peer->get_handle); |
361 | GNUNET_SCHEDULER_add_now(sched, | 359 | GNUNET_SCHEDULER_add_now(&test_find_peer, |
362 | &test_find_peer, | ||
363 | &p1); | 360 | &p1); |
364 | } | 361 | } |
365 | 362 | ||
@@ -375,7 +372,7 @@ test_get_iterator (void *cls, | |||
375 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 372 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
376 | "test_get_iterator called (we got a result), stopping get request!\n"); | 373 | "test_get_iterator called (we got a result), stopping get request!\n"); |
377 | 374 | ||
378 | GNUNET_SCHEDULER_add_continuation (sched, &test_get_stop, &p1, | 375 | GNUNET_SCHEDULER_add_continuation (&test_get_stop, &p1, |
379 | GNUNET_SCHEDULER_REASON_PREREQ_DONE); | 376 | GNUNET_SCHEDULER_REASON_PREREQ_DONE); |
380 | } | 377 | } |
381 | 378 | ||
@@ -411,8 +408,8 @@ test_get (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
411 | if (peer->get_handle == NULL) | 408 | if (peer->get_handle == NULL) |
412 | { | 409 | { |
413 | GNUNET_break (0); | 410 | GNUNET_break (0); |
414 | GNUNET_SCHEDULER_cancel (sched, die_task); | 411 | GNUNET_SCHEDULER_cancel (die_task); |
415 | GNUNET_SCHEDULER_add_now (sched, &end_badly, &p1); | 412 | GNUNET_SCHEDULER_add_now (&end_badly, &p1); |
416 | return; | 413 | return; |
417 | } | 414 | } |
418 | 415 | ||
@@ -436,7 +433,7 @@ test_put (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
436 | data = GNUNET_malloc (data_size); | 433 | data = GNUNET_malloc (data_size); |
437 | memset (data, 43, data_size); | 434 | memset (data, 43, data_size); |
438 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Called test_put!\n"); | 435 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Called test_put!\n"); |
439 | peer->dht_handle = GNUNET_DHT_connect (sched, peer->cfg, 100); | 436 | peer->dht_handle = GNUNET_DHT_connect (peer->cfg, 100); |
440 | 437 | ||
441 | GNUNET_assert (peer->dht_handle != NULL); | 438 | GNUNET_assert (peer->dht_handle != NULL); |
442 | 439 | ||
@@ -468,23 +465,19 @@ setup_peer (struct PeerContext *p, const char *cfgname) | |||
468 | 465 | ||
469 | static void | 466 | static void |
470 | run (void *cls, | 467 | run (void *cls, |
471 | struct GNUNET_SCHEDULER_Handle *s, | ||
472 | char *const *args, | 468 | char *const *args, |
473 | const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) | 469 | const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) |
474 | { | 470 | { |
475 | GNUNET_assert (ok == 1); | 471 | GNUNET_assert (ok == 1); |
476 | OKPP; | 472 | OKPP; |
477 | sched = s; | ||
478 | 473 | ||
479 | die_task = GNUNET_SCHEDULER_add_delayed (sched, | 474 | die_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply |
480 | GNUNET_TIME_relative_multiply | ||
481 | (GNUNET_TIME_UNIT_MINUTES, 1), | 475 | (GNUNET_TIME_UNIT_MINUTES, 1), |
482 | &end_badly, NULL); | 476 | &end_badly, NULL); |
483 | 477 | ||
484 | setup_peer (&p1, "test_dht_api_peer1.conf"); | 478 | setup_peer (&p1, "test_dht_api_peer1.conf"); |
485 | 479 | ||
486 | GNUNET_SCHEDULER_add_delayed (sched, | 480 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply |
487 | GNUNET_TIME_relative_multiply | ||
488 | (GNUNET_TIME_UNIT_SECONDS, 1), &test_put, | 481 | (GNUNET_TIME_UNIT_SECONDS, 1), &test_put, |
489 | &p1); | 482 | &p1); |
490 | } | 483 | } |