diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2012-10-11 13:34:18 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2012-10-11 13:34:18 +0000 |
commit | b403b91f25f760ceaa1f38b68978a03355e2bb68 (patch) | |
tree | 5355338602ce6bd6759ac29745ee7eb41aaacbbf /src/testbed/test_testbed_api_3peers_3controllers.c | |
parent | 251766755c47034f476961451bc0821aaf93cfb8 (diff) | |
download | gnunet-b403b91f25f760ceaa1f38b68978a03355e2bb68.tar.gz gnunet-b403b91f25f760ceaa1f38b68978a03355e2bb68.zip |
working overlay connect with implicit suboperations
Diffstat (limited to 'src/testbed/test_testbed_api_3peers_3controllers.c')
-rw-r--r-- | src/testbed/test_testbed_api_3peers_3controllers.c | 52 |
1 files changed, 13 insertions, 39 deletions
diff --git a/src/testbed/test_testbed_api_3peers_3controllers.c b/src/testbed/test_testbed_api_3peers_3controllers.c index f69355b3c..4e5f9660e 100644 --- a/src/testbed/test_testbed_api_3peers_3controllers.c +++ b/src/testbed/test_testbed_api_3peers_3controllers.c | |||
@@ -215,16 +215,6 @@ enum Stage | |||
215 | PEERS_1_2_CONNECTED, | 215 | PEERS_1_2_CONNECTED, |
216 | 216 | ||
217 | /** | 217 | /** |
218 | * Configuration of C has been acquired | ||
219 | */ | ||
220 | CONTROLLER_CFG_ACQUIRED, | ||
221 | |||
222 | /** | ||
223 | * Linking controller B to C laterally | ||
224 | */ | ||
225 | CONTROLLERS_LATERALLY_LINKED, | ||
226 | |||
227 | /** | ||
228 | * peer2 and peer3 are connected | 218 | * peer2 and peer3 are connected |
229 | */ | 219 | */ |
230 | PEERS_2_3_CONNECTED, | 220 | PEERS_2_3_CONNECTED, |
@@ -347,7 +337,17 @@ op_comp_cb (void *cls, struct GNUNET_TESTBED_Operation *op, const char *emsg) | |||
347 | result = PEERS_1_2_CONNECTED; | 337 | result = PEERS_1_2_CONNECTED; |
348 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Peers connected\n"); | 338 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Peers connected\n"); |
349 | common_operation = | 339 | common_operation = |
350 | GNUNET_TESTBED_get_slave_config (NULL, controller1, neighbour2); | 340 | GNUNET_TESTBED_overlay_connect (NULL, &op_comp_cb, NULL, peer2.peer, |
341 | peer3.peer); | ||
342 | break; | ||
343 | case PEERS_1_2_CONNECTED: | ||
344 | GNUNET_assert (NULL != common_operation); | ||
345 | GNUNET_TESTBED_operation_done (common_operation); | ||
346 | common_operation = NULL; | ||
347 | result = PEERS_2_3_CONNECTED; | ||
348 | delayed_connect_task = | ||
349 | GNUNET_SCHEDULER_add_delayed (TIME_REL_SECS (3), | ||
350 | &do_delayed_connect, NULL); | ||
351 | break; | 351 | break; |
352 | case PEERS_2_3_CONNECTED: | 352 | case PEERS_2_3_CONNECTED: |
353 | GNUNET_assert (NULL == peer1.operation); | 353 | GNUNET_assert (NULL == peer1.operation); |
@@ -361,14 +361,6 @@ op_comp_cb (void *cls, struct GNUNET_TESTBED_Operation *op, const char *emsg) | |||
361 | peer2.operation = GNUNET_TESTBED_peer_stop (peer2.peer, NULL, NULL); | 361 | peer2.operation = GNUNET_TESTBED_peer_stop (peer2.peer, NULL, NULL); |
362 | peer3.operation = GNUNET_TESTBED_peer_stop (peer3.peer, NULL, NULL); | 362 | peer3.operation = GNUNET_TESTBED_peer_stop (peer3.peer, NULL, NULL); |
363 | break; | 363 | break; |
364 | case CONTROLLERS_LATERALLY_LINKED: | ||
365 | GNUNET_TESTBED_operation_done (common_operation); | ||
366 | common_operation = NULL; | ||
367 | result = PEERS_2_3_CONNECTED; | ||
368 | delayed_connect_task = | ||
369 | GNUNET_SCHEDULER_add_delayed (TIME_REL_SECS (3), | ||
370 | &do_delayed_connect, NULL); | ||
371 | break; | ||
372 | default: | 364 | default: |
373 | GNUNET_assert (0); | 365 | GNUNET_assert (0); |
374 | } | 366 | } |
@@ -502,24 +494,6 @@ controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
502 | &peer_create_cb, NULL); | 494 | &peer_create_cb, NULL); |
503 | GNUNET_assert (NULL != peer3.operation); | 495 | GNUNET_assert (NULL != peer3.operation); |
504 | break; | 496 | break; |
505 | case PEERS_1_2_CONNECTED: | ||
506 | GNUNET_assert (NULL != event->details.operation_finished.generic); | ||
507 | cfg2 = | ||
508 | GNUNET_CONFIGURATION_dup (event->details.operation_finished.generic); | ||
509 | GNUNET_TESTBED_operation_done (common_operation); | ||
510 | result = CONTROLLER_CFG_ACQUIRED; | ||
511 | common_operation = | ||
512 | GNUNET_TESTBED_controller_link (NULL, controller1, neighbour2, neighbour1, | ||
513 | cfg2, GNUNET_NO); | ||
514 | break; | ||
515 | case CONTROLLER_CFG_ACQUIRED: | ||
516 | GNUNET_assert (NULL == event->details.operation_finished.generic); | ||
517 | GNUNET_TESTBED_operation_done (common_operation); | ||
518 | result = CONTROLLERS_LATERALLY_LINKED; | ||
519 | common_operation = | ||
520 | GNUNET_TESTBED_overlay_connect (NULL, &op_comp_cb, NULL, peer2.peer, | ||
521 | peer3.peer); | ||
522 | break; | ||
523 | default: | 497 | default: |
524 | GNUNET_assert (0); | 498 | GNUNET_assert (0); |
525 | } | 499 | } |
@@ -608,10 +582,10 @@ controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
608 | GNUNET_assert ((event->details.peer_connect.peer1 == peer1.peer) && | 582 | GNUNET_assert ((event->details.peer_connect.peer1 == peer1.peer) && |
609 | (event->details.peer_connect.peer2 == peer2.peer)); | 583 | (event->details.peer_connect.peer2 == peer2.peer)); |
610 | break; | 584 | break; |
611 | case CONTROLLERS_LATERALLY_LINKED: | 585 | case PEERS_1_2_CONNECTED: |
612 | GNUNET_assert (NULL != common_operation); | 586 | GNUNET_assert (NULL != common_operation); |
613 | GNUNET_assert ((event->details.peer_connect.peer1 == peer2.peer) && | 587 | GNUNET_assert ((event->details.peer_connect.peer1 == peer2.peer) && |
614 | (event->details.peer_connect.peer2 == peer3.peer)); | 588 | (event->details.peer_connect.peer2 == peer3.peer)); |
615 | break; | 589 | break; |
616 | default: | 590 | default: |
617 | GNUNET_assert (0); | 591 | GNUNET_assert (0); |