diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2013-03-18 13:11:36 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2013-03-18 13:11:36 +0000 |
commit | d0d39def77f1f81dd83823e0fe2cfe84a5393a74 (patch) | |
tree | 7c566f79daa839bc74569a415c1b0d2537263280 /src/testbed | |
parent | 153c0ba219f50e851aaef92d0cef28f80a33763e (diff) | |
download | gnunet-d0d39def77f1f81dd83823e0fe2cfe84a5393a74.tar.gz gnunet-d0d39def77f1f81dd83823e0fe2cfe84a5393a74.zip |
expose Operation and associated closure in every event
Diffstat (limited to 'src/testbed')
-rw-r--r-- | src/testbed/gnunet-service-testbed.c | 8 | ||||
-rw-r--r-- | src/testbed/test_testbed_api.c | 10 | ||||
-rw-r--r-- | src/testbed/test_testbed_api_2peers_1controller.c | 10 | ||||
-rw-r--r-- | src/testbed/test_testbed_api_3peers_3controllers.c | 14 | ||||
-rw-r--r-- | src/testbed/test_testbed_api_controllerlink.c | 12 | ||||
-rw-r--r-- | src/testbed/test_testbed_api_testbed_run.c | 2 | ||||
-rw-r--r-- | src/testbed/testbed_api.c | 22 | ||||
-rw-r--r-- | src/testbed/testbed_api_peers.c | 6 | ||||
-rw-r--r-- | src/testbed/testbed_api_services.c | 4 | ||||
-rw-r--r-- | src/testbed/testbed_api_testbed.c | 6 |
10 files changed, 51 insertions, 43 deletions
diff --git a/src/testbed/gnunet-service-testbed.c b/src/testbed/gnunet-service-testbed.c index eae4784b5..81c17012d 100644 --- a/src/testbed/gnunet-service-testbed.c +++ b/src/testbed/gnunet-service-testbed.c | |||
@@ -861,10 +861,10 @@ slave_event_callback (void *cls, | |||
861 | /* We currently only get here when working on RegisteredHostContexts and | 861 | /* We currently only get here when working on RegisteredHostContexts and |
862 | LCFContexts */ | 862 | LCFContexts */ |
863 | GNUNET_assert (GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type); | 863 | GNUNET_assert (GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type); |
864 | rhc = event->details.operation_finished.op_cls; | 864 | rhc = event->op_cls; |
865 | if (CLOSURE_TYPE_RHC == rhc->type) | 865 | if (CLOSURE_TYPE_RHC == rhc->type) |
866 | { | 866 | { |
867 | GNUNET_assert (rhc->sub_op == event->details.operation_finished.operation); | 867 | GNUNET_assert (rhc->sub_op == event->op); |
868 | switch (rhc->state) | 868 | switch (rhc->state) |
869 | { | 869 | { |
870 | case RHC_GET_CFG: | 870 | case RHC_GET_CFG: |
@@ -889,10 +889,10 @@ slave_event_callback (void *cls, | |||
889 | } | 889 | } |
890 | return; | 890 | return; |
891 | } | 891 | } |
892 | lcf = event->details.operation_finished.op_cls; | 892 | lcf = event->op_cls; |
893 | if (CLOSURE_TYPE_LCF == lcf->type) | 893 | if (CLOSURE_TYPE_LCF == lcf->type) |
894 | { | 894 | { |
895 | GNUNET_assert (lcf->op == event->details.operation_finished.operation); | 895 | GNUNET_assert (lcf->op == event->op); |
896 | GNUNET_assert (FINISHED == lcf->state); | 896 | GNUNET_assert (FINISHED == lcf->state); |
897 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK != lcf->timeout_task); | 897 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK != lcf->timeout_task); |
898 | GNUNET_SCHEDULER_cancel (lcf->timeout_task); | 898 | GNUNET_SCHEDULER_cancel (lcf->timeout_task); |
diff --git a/src/testbed/test_testbed_api.c b/src/testbed/test_testbed_api.c index 2927c3798..75e11211f 100644 --- a/src/testbed/test_testbed_api.c +++ b/src/testbed/test_testbed_api.c | |||
@@ -223,7 +223,7 @@ dht_disconnect_adapter (void *cls, void *op_result) | |||
223 | dht_handle = NULL; | 223 | dht_handle = NULL; |
224 | FAIL_TEST (PEER_SERVICE_CONNECT == sub_test, return); | 224 | FAIL_TEST (PEER_SERVICE_CONNECT == sub_test, return); |
225 | FAIL_TEST (NULL != operation, return); | 225 | FAIL_TEST (NULL != operation, return); |
226 | operation = GNUNET_TESTBED_peer_stop (peer, NULL, NULL); | 226 | operation = GNUNET_TESTBED_peer_stop (NULL, peer, NULL, NULL); |
227 | FAIL_TEST (NULL != operation, return); | 227 | FAIL_TEST (NULL != operation, return); |
228 | } | 228 | } |
229 | 229 | ||
@@ -307,16 +307,16 @@ controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
307 | switch (sub_test) | 307 | switch (sub_test) |
308 | { | 308 | { |
309 | case PEER_DESTROY: | 309 | case PEER_DESTROY: |
310 | FAIL_TEST (event->details.operation_finished.operation == operation, return); | 310 | FAIL_TEST (event->op == operation, return); |
311 | FAIL_TEST (NULL == event->details.operation_finished.op_cls, return); | 311 | FAIL_TEST (NULL == event->op_cls, return); |
312 | FAIL_TEST (NULL == event->details.operation_finished.emsg, return); | 312 | FAIL_TEST (NULL == event->details.operation_finished.emsg, return); |
313 | FAIL_TEST (NULL == event->details.operation_finished.generic, return); | 313 | FAIL_TEST (NULL == event->details.operation_finished.generic, return); |
314 | GNUNET_TESTBED_operation_done (operation); | 314 | GNUNET_TESTBED_operation_done (operation); |
315 | GNUNET_SCHEDULER_add_now (&do_shutdown, NULL); | 315 | GNUNET_SCHEDULER_add_now (&do_shutdown, NULL); |
316 | break; | 316 | break; |
317 | case PEER_SERVICE_CONNECT: | 317 | case PEER_SERVICE_CONNECT: |
318 | FAIL_TEST (event->details.operation_finished.operation == operation, return); | 318 | FAIL_TEST (event->op == operation, return); |
319 | FAIL_TEST (NULL == event->details.operation_finished.op_cls, return); | 319 | FAIL_TEST (NULL == event->op_cls, return); |
320 | FAIL_TEST (NULL == event->details.operation_finished.emsg, return); | 320 | FAIL_TEST (NULL == event->details.operation_finished.emsg, return); |
321 | FAIL_TEST (NULL != dht_handle, return); | 321 | FAIL_TEST (NULL != dht_handle, return); |
322 | FAIL_TEST (event->details.operation_finished.generic == dht_handle, return); | 322 | FAIL_TEST (event->details.operation_finished.generic == dht_handle, return); |
diff --git a/src/testbed/test_testbed_api_2peers_1controller.c b/src/testbed/test_testbed_api_2peers_1controller.c index 581a1c1f5..ac7cc4227 100644 --- a/src/testbed/test_testbed_api_2peers_1controller.c +++ b/src/testbed/test_testbed_api_2peers_1controller.c | |||
@@ -294,16 +294,16 @@ controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
294 | { | 294 | { |
295 | case GNUNET_TESTBED_ET_OPERATION_FINISHED: /* Will be reached when we destroy peers */ | 295 | case GNUNET_TESTBED_ET_OPERATION_FINISHED: /* Will be reached when we destroy peers */ |
296 | FAIL_TEST (PEERS_STOPPED == result); | 296 | FAIL_TEST (PEERS_STOPPED == result); |
297 | FAIL_TEST (NULL == event->details.operation_finished.op_cls); | 297 | FAIL_TEST (NULL == event->op_cls); |
298 | FAIL_TEST (NULL == event->details.operation_finished.emsg); | 298 | FAIL_TEST (NULL == event->details.operation_finished.emsg); |
299 | FAIL_TEST (NULL == event->details.operation_finished.generic); | 299 | FAIL_TEST (NULL == event->details.operation_finished.generic); |
300 | if (event->details.operation_finished.operation == peer1.operation) | 300 | if (event->op == peer1.operation) |
301 | { | 301 | { |
302 | GNUNET_TESTBED_operation_done (peer1.operation); | 302 | GNUNET_TESTBED_operation_done (peer1.operation); |
303 | peer1.operation = NULL; | 303 | peer1.operation = NULL; |
304 | peer1.peer = NULL; | 304 | peer1.peer = NULL; |
305 | } | 305 | } |
306 | else if (event->details.operation_finished.operation == peer2.operation) | 306 | else if (event->op == peer2.operation) |
307 | { | 307 | { |
308 | GNUNET_TESTBED_operation_done (peer2.operation); | 308 | GNUNET_TESTBED_operation_done (peer2.operation); |
309 | peer2.operation = NULL; | 309 | peer2.operation = NULL; |
@@ -386,8 +386,8 @@ controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
386 | common_operation = NULL; | 386 | common_operation = NULL; |
387 | result = PEERS_CONNECTED_2; | 387 | result = PEERS_CONNECTED_2; |
388 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Peers connected again\n"); | 388 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Peers connected again\n"); |
389 | peer1.operation = GNUNET_TESTBED_peer_stop (peer1.peer, NULL, NULL); | 389 | peer1.operation = GNUNET_TESTBED_peer_stop (NULL, peer1.peer, NULL, NULL); |
390 | peer2.operation = GNUNET_TESTBED_peer_stop (peer2.peer, NULL, NULL); | 390 | peer2.operation = GNUNET_TESTBED_peer_stop (NULL, peer2.peer, NULL, NULL); |
391 | break; | 391 | break; |
392 | default: | 392 | default: |
393 | FAIL_TEST (0); | 393 | FAIL_TEST (0); |
diff --git a/src/testbed/test_testbed_api_3peers_3controllers.c b/src/testbed/test_testbed_api_3peers_3controllers.c index 526386f01..12b14258f 100644 --- a/src/testbed/test_testbed_api_3peers_3controllers.c +++ b/src/testbed/test_testbed_api_3peers_3controllers.c | |||
@@ -456,7 +456,7 @@ controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
456 | switch (event->type) | 456 | switch (event->type) |
457 | { | 457 | { |
458 | case GNUNET_TESTBED_ET_OPERATION_FINISHED: | 458 | case GNUNET_TESTBED_ET_OPERATION_FINISHED: |
459 | if ((NULL != event->details.operation_finished.op_cls) || | 459 | if ((NULL != event->op_cls) || |
460 | (NULL != event->details.operation_finished.emsg)) | 460 | (NULL != event->details.operation_finished.emsg)) |
461 | { | 461 | { |
462 | GNUNET_break (0); | 462 | GNUNET_break (0); |
@@ -472,19 +472,19 @@ controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
472 | abort_test (); | 472 | abort_test (); |
473 | return; | 473 | return; |
474 | } | 474 | } |
475 | if (event->details.operation_finished.operation == peer1.operation) | 475 | if (event->op == peer1.operation) |
476 | { | 476 | { |
477 | GNUNET_TESTBED_operation_done (peer1.operation); | 477 | GNUNET_TESTBED_operation_done (peer1.operation); |
478 | peer1.operation = NULL; | 478 | peer1.operation = NULL; |
479 | peer1.peer = NULL; | 479 | peer1.peer = NULL; |
480 | } | 480 | } |
481 | else if (event->details.operation_finished.operation == peer2.operation) | 481 | else if (event->op == peer2.operation) |
482 | { | 482 | { |
483 | GNUNET_TESTBED_operation_done (peer2.operation); | 483 | GNUNET_TESTBED_operation_done (peer2.operation); |
484 | peer2.operation = NULL; | 484 | peer2.operation = NULL; |
485 | peer2.peer = NULL; | 485 | peer2.peer = NULL; |
486 | } | 486 | } |
487 | else if (event->details.operation_finished.operation == peer3.operation) | 487 | else if (event->op == peer3.operation) |
488 | { | 488 | { |
489 | GNUNET_TESTBED_operation_done (peer3.operation); | 489 | GNUNET_TESTBED_operation_done (peer3.operation); |
490 | peer3.operation = NULL; | 490 | peer3.operation = NULL; |
@@ -706,9 +706,9 @@ controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
706 | common_operation = NULL; | 706 | common_operation = NULL; |
707 | result = PEERS_CONNECTED_2; | 707 | result = PEERS_CONNECTED_2; |
708 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Peers connected again\n"); | 708 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Peers connected again\n"); |
709 | peer1.operation = GNUNET_TESTBED_peer_stop (peer1.peer, NULL, NULL); | 709 | peer1.operation = GNUNET_TESTBED_peer_stop (NULL, peer1.peer, NULL, NULL); |
710 | peer2.operation = GNUNET_TESTBED_peer_stop (peer2.peer, NULL, NULL); | 710 | peer2.operation = GNUNET_TESTBED_peer_stop (NULL, peer2.peer, NULL, NULL); |
711 | peer3.operation = GNUNET_TESTBED_peer_stop (peer3.peer, NULL, NULL); | 711 | peer3.operation = GNUNET_TESTBED_peer_stop (NULL, peer3.peer, NULL, NULL); |
712 | break; | 712 | break; |
713 | default: | 713 | default: |
714 | GNUNET_break (0); | 714 | GNUNET_break (0); |
diff --git a/src/testbed/test_testbed_api_controllerlink.c b/src/testbed/test_testbed_api_controllerlink.c index c10451703..2f9e53b94 100644 --- a/src/testbed/test_testbed_api_controllerlink.c +++ b/src/testbed/test_testbed_api_controllerlink.c | |||
@@ -363,11 +363,11 @@ delay_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
363 | switch (result) | 363 | switch (result) |
364 | { | 364 | { |
365 | case SLAVE2_PEER_CREATE_SUCCESS: | 365 | case SLAVE2_PEER_CREATE_SUCCESS: |
366 | op = GNUNET_TESTBED_peer_stop (slave1_peer, NULL, NULL); | 366 | op = GNUNET_TESTBED_peer_stop (NULL, slave1_peer, NULL, NULL); |
367 | FAIL_TEST (NULL != op); | 367 | FAIL_TEST (NULL != op); |
368 | break; | 368 | break; |
369 | case MASTER_SLAVE2_PEERS_CONNECTED: | 369 | case MASTER_SLAVE2_PEERS_CONNECTED: |
370 | op = GNUNET_TESTBED_peer_stop (slave2_peer, NULL, NULL); | 370 | op = GNUNET_TESTBED_peer_stop (NULL, slave2_peer, NULL, NULL); |
371 | FAIL_TEST (NULL != op); | 371 | FAIL_TEST (NULL != op); |
372 | break; | 372 | break; |
373 | default: | 373 | default: |
@@ -432,8 +432,8 @@ check_operation_success (const struct GNUNET_TESTBED_EventInformation *event) | |||
432 | { | 432 | { |
433 | FAIL_TEST (NULL != event); | 433 | FAIL_TEST (NULL != event); |
434 | FAIL_TEST (GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type); | 434 | FAIL_TEST (GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type); |
435 | FAIL_TEST (event->details.operation_finished.operation == op); | 435 | FAIL_TEST (event->op == op); |
436 | FAIL_TEST (NULL == event->details.operation_finished.op_cls); | 436 | FAIL_TEST (NULL == event->op_cls); |
437 | FAIL_TEST (NULL == event->details.operation_finished.emsg); | 437 | FAIL_TEST (NULL == event->details.operation_finished.emsg); |
438 | FAIL_TEST (NULL == event->details.operation_finished.generic); | 438 | FAIL_TEST (NULL == event->details.operation_finished.generic); |
439 | } | 439 | } |
@@ -562,8 +562,8 @@ controller_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
562 | case SLAVE3_STARTED: | 562 | case SLAVE3_STARTED: |
563 | FAIL_TEST (NULL != event); | 563 | FAIL_TEST (NULL != event); |
564 | FAIL_TEST (GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type); | 564 | FAIL_TEST (GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type); |
565 | FAIL_TEST (event->details.operation_finished.operation == op); | 565 | FAIL_TEST (event->op == op); |
566 | FAIL_TEST (NULL == event->details.operation_finished.op_cls); | 566 | FAIL_TEST (NULL == event->op_cls); |
567 | FAIL_TEST (NULL == event->details.operation_finished.emsg); | 567 | FAIL_TEST (NULL == event->details.operation_finished.emsg); |
568 | cfg3 = GNUNET_CONFIGURATION_dup (event->details.operation_finished.generic); | 568 | cfg3 = GNUNET_CONFIGURATION_dup (event->details.operation_finished.generic); |
569 | GNUNET_TESTBED_operation_done (op); | 569 | GNUNET_TESTBED_operation_done (op); |
diff --git a/src/testbed/test_testbed_api_testbed_run.c b/src/testbed/test_testbed_api_testbed_run.c index 9cad74a7b..a27d8b064 100644 --- a/src/testbed/test_testbed_api_testbed_run.c +++ b/src/testbed/test_testbed_api_testbed_run.c | |||
@@ -102,7 +102,7 @@ test_master (void *cls, unsigned int num_peers, | |||
102 | { | 102 | { |
103 | result = GNUNET_OK; | 103 | result = GNUNET_OK; |
104 | GNUNET_assert (NULL != peers[0]); | 104 | GNUNET_assert (NULL != peers[0]); |
105 | op = GNUNET_TESTBED_peer_stop (peers[0], NULL, NULL); | 105 | op = GNUNET_TESTBED_peer_stop (NULL, peers[0], NULL, NULL); |
106 | GNUNET_assert (NULL != op); | 106 | GNUNET_assert (NULL != op); |
107 | } | 107 | } |
108 | 108 | ||
diff --git a/src/testbed/testbed_api.c b/src/testbed/testbed_api.c index 117b39833..11b2aae35 100644 --- a/src/testbed/testbed_api.c +++ b/src/testbed/testbed_api.c | |||
@@ -240,8 +240,8 @@ handle_opsuccess (struct GNUNET_TESTBED_Controller *c, | |||
240 | return GNUNET_YES; | 240 | return GNUNET_YES; |
241 | } | 241 | } |
242 | event.type = GNUNET_TESTBED_ET_OPERATION_FINISHED; | 242 | event.type = GNUNET_TESTBED_ET_OPERATION_FINISHED; |
243 | event.details.operation_finished.operation = opc->op; | 243 | event.op = opc->op; |
244 | event.details.operation_finished.op_cls = opc->op_cls; | 244 | event.op_cls = opc->op_cls; |
245 | event.details.operation_finished.emsg = NULL; | 245 | event.details.operation_finished.emsg = NULL; |
246 | event.details.operation_finished.generic = NULL; | 246 | event.details.operation_finished.generic = NULL; |
247 | switch (opc->type) | 247 | switch (opc->type) |
@@ -385,6 +385,8 @@ handle_peer_event (struct GNUNET_TESTBED_Controller *c, | |||
385 | peer = data->peer; | 385 | peer = data->peer; |
386 | GNUNET_assert (NULL != peer); | 386 | GNUNET_assert (NULL != peer); |
387 | event.type = (enum GNUNET_TESTBED_EventType) ntohl (msg->event_type); | 387 | event.type = (enum GNUNET_TESTBED_EventType) ntohl (msg->event_type); |
388 | event.op = opc->op; | ||
389 | event.op_cls = opc->op_cls; | ||
388 | switch (event.type) | 390 | switch (event.type) |
389 | { | 391 | { |
390 | case GNUNET_TESTBED_ET_PEER_START: | 392 | case GNUNET_TESTBED_ET_PEER_START: |
@@ -455,6 +457,8 @@ handle_peer_conevent (struct GNUNET_TESTBED_Controller *c, | |||
455 | GNUNET_assert ((ntohl (msg->peer1) == data->p1->unique_id) && | 457 | GNUNET_assert ((ntohl (msg->peer1) == data->p1->unique_id) && |
456 | (ntohl (msg->peer2) == data->p2->unique_id)); | 458 | (ntohl (msg->peer2) == data->p2->unique_id)); |
457 | event.type = (enum GNUNET_TESTBED_EventType) ntohl (msg->event_type); | 459 | event.type = (enum GNUNET_TESTBED_EventType) ntohl (msg->event_type); |
460 | event.op = opc->op; | ||
461 | event.op_cls = opc->op_cls; | ||
458 | switch (event.type) | 462 | switch (event.type) |
459 | { | 463 | { |
460 | case GNUNET_TESTBED_ET_CONNECT: | 464 | case GNUNET_TESTBED_ET_CONNECT: |
@@ -604,12 +608,12 @@ handle_op_fail_event (struct GNUNET_TESTBED_Controller *c, | |||
604 | (NULL != c->cc)) | 608 | (NULL != c->cc)) |
605 | { | 609 | { |
606 | event.type = GNUNET_TESTBED_ET_OPERATION_FINISHED; | 610 | event.type = GNUNET_TESTBED_ET_OPERATION_FINISHED; |
607 | event.details.operation_finished.operation = opc->op; | 611 | event.op = opc->op; |
608 | event.details.operation_finished.op_cls = opc->op_cls; | 612 | event.op_cls = opc->op_cls; |
609 | event.details.operation_finished.emsg = emsg; | 613 | event.details.operation_finished.emsg = emsg; |
610 | event.details.operation_finished.generic = NULL; | 614 | event.details.operation_finished.generic = NULL; |
611 | c->cc (c->cc_cls, &event); | 615 | c->cc (c->cc_cls, &event); |
612 | if (event.details.operation_finished.operation == last_finished_operation) | 616 | if (event.op == last_finished_operation) |
613 | return GNUNET_YES; | 617 | return GNUNET_YES; |
614 | } | 618 | } |
615 | switch (opc->type) | 619 | switch (opc->type) |
@@ -731,9 +735,9 @@ handle_slave_config (struct GNUNET_TESTBED_Controller *c, | |||
731 | { | 735 | { |
732 | opc->data = GNUNET_TESTBED_extract_config_ (&msg->header); | 736 | opc->data = GNUNET_TESTBED_extract_config_ (&msg->header); |
733 | event.type = GNUNET_TESTBED_ET_OPERATION_FINISHED; | 737 | event.type = GNUNET_TESTBED_ET_OPERATION_FINISHED; |
738 | event.op = opc->op; | ||
739 | event.op_cls = opc->op_cls; | ||
734 | event.details.operation_finished.generic = opc->data; | 740 | event.details.operation_finished.generic = opc->data; |
735 | event.details.operation_finished.operation = opc->op; | ||
736 | event.details.operation_finished.op_cls = opc->op_cls; | ||
737 | event.details.operation_finished.emsg = NULL; | 741 | event.details.operation_finished.emsg = NULL; |
738 | c->cc (c->cc_cls, &event); | 742 | c->cc (c->cc_cls, &event); |
739 | } | 743 | } |
@@ -787,8 +791,8 @@ handle_link_controllers_result (struct GNUNET_TESTBED_Controller *c, | |||
787 | GNUNET_free (data); | 791 | GNUNET_free (data); |
788 | opc->data = NULL; | 792 | opc->data = NULL; |
789 | event.type = GNUNET_TESTBED_ET_OPERATION_FINISHED; | 793 | event.type = GNUNET_TESTBED_ET_OPERATION_FINISHED; |
790 | event.details.operation_finished.operation = opc->op; | 794 | event.op = opc->op; |
791 | event.details.operation_finished.op_cls = opc->op_cls; | 795 | event.op_cls = opc->op_cls; |
792 | event.details.operation_finished.emsg = NULL; | 796 | event.details.operation_finished.emsg = NULL; |
793 | event.details.operation_finished.generic = NULL; | 797 | event.details.operation_finished.generic = NULL; |
794 | emsg = NULL; | 798 | emsg = NULL; |
diff --git a/src/testbed/testbed_api_peers.c b/src/testbed/testbed_api_peers.c index 9ad8366f2..b5a66cd5d 100644 --- a/src/testbed/testbed_api_peers.c +++ b/src/testbed/testbed_api_peers.c | |||
@@ -563,13 +563,16 @@ GNUNET_TESTBED_peer_start (void *op_cls, struct GNUNET_TESTBED_Peer *peer, | |||
563 | * "GNUNET_TESTBED_peer_destroy" to fully clean up the | 563 | * "GNUNET_TESTBED_peer_destroy" to fully clean up the |
564 | * state of the peer). | 564 | * state of the peer). |
565 | * | 565 | * |
566 | * @param op_cls the closure for this operation; will be set in the event | ||
567 | * information | ||
566 | * @param peer peer to stop | 568 | * @param peer peer to stop |
567 | * @param pcc function to call upon completion | 569 | * @param pcc function to call upon completion |
568 | * @param pcc_cls closure for 'pcc' | 570 | * @param pcc_cls closure for 'pcc' |
569 | * @return handle to the operation | 571 | * @return handle to the operation |
570 | */ | 572 | */ |
571 | struct GNUNET_TESTBED_Operation * | 573 | struct GNUNET_TESTBED_Operation * |
572 | GNUNET_TESTBED_peer_stop (struct GNUNET_TESTBED_Peer *peer, | 574 | GNUNET_TESTBED_peer_stop (void *op_cls, |
575 | struct GNUNET_TESTBED_Peer *peer, | ||
573 | GNUNET_TESTBED_PeerChurnCallback pcc, void *pcc_cls) | 576 | GNUNET_TESTBED_PeerChurnCallback pcc, void *pcc_cls) |
574 | { | 577 | { |
575 | struct OperationContext *opc; | 578 | struct OperationContext *opc; |
@@ -582,6 +585,7 @@ GNUNET_TESTBED_peer_stop (struct GNUNET_TESTBED_Peer *peer, | |||
582 | opc = GNUNET_malloc (sizeof (struct OperationContext)); | 585 | opc = GNUNET_malloc (sizeof (struct OperationContext)); |
583 | opc->c = peer->controller; | 586 | opc->c = peer->controller; |
584 | opc->data = data; | 587 | opc->data = data; |
588 | opc->op_cls = op_cls; | ||
585 | opc->id = GNUNET_TESTBED_get_next_op_id (opc->c); | 589 | opc->id = GNUNET_TESTBED_get_next_op_id (opc->c); |
586 | opc->type = OP_PEER_STOP; | 590 | opc->type = OP_PEER_STOP; |
587 | opc->op = | 591 | opc->op = |
diff --git a/src/testbed/testbed_api_services.c b/src/testbed/testbed_api_services.c index 923caed26..3d6d5591d 100644 --- a/src/testbed/testbed_api_services.c +++ b/src/testbed/testbed_api_services.c | |||
@@ -144,8 +144,8 @@ configuration_receiver (void *cls, const struct GNUNET_MessageHeader *msg) | |||
144 | mtype = ntohs (msg->type); | 144 | mtype = ntohs (msg->type); |
145 | emsg = NULL; | 145 | emsg = NULL; |
146 | info.type = GNUNET_TESTBED_ET_OPERATION_FINISHED; | 146 | info.type = GNUNET_TESTBED_ET_OPERATION_FINISHED; |
147 | info.details.operation_finished.operation = data->operation; | 147 | info.op = data->operation; |
148 | info.details.operation_finished.op_cls = data->op_cls; | 148 | info.op_cls = data->op_cls; |
149 | if (GNUNET_MESSAGE_TYPE_TESTBED_OPERATION_FAIL_EVENT == mtype) | 149 | if (GNUNET_MESSAGE_TYPE_TESTBED_OPERATION_FAIL_EVENT == mtype) |
150 | { | 150 | { |
151 | emsg = | 151 | emsg = |
diff --git a/src/testbed/testbed_api_testbed.c b/src/testbed/testbed_api_testbed.c index 96be90e83..5e62a2845 100644 --- a/src/testbed/testbed_api_testbed.c +++ b/src/testbed/testbed_api_testbed.c | |||
@@ -602,7 +602,7 @@ event_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
602 | switch (event->type) | 602 | switch (event->type) |
603 | { | 603 | { |
604 | case GNUNET_TESTBED_ET_OPERATION_FINISHED: | 604 | case GNUNET_TESTBED_ET_OPERATION_FINISHED: |
605 | dll_op = event->details.operation_finished.op_cls; | 605 | dll_op = event->op_cls; |
606 | if (NULL != event->details.operation_finished.emsg) | 606 | if (NULL != event->details.operation_finished.emsg) |
607 | { | 607 | { |
608 | LOG (GNUNET_ERROR_TYPE_ERROR, _("Linking controllers failed. Exiting")); | 608 | LOG (GNUNET_ERROR_TYPE_ERROR, _("Linking controllers failed. Exiting")); |
@@ -610,7 +610,7 @@ event_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
610 | } | 610 | } |
611 | else | 611 | else |
612 | rc->reg_hosts++; | 612 | rc->reg_hosts++; |
613 | GNUNET_assert (event->details.operation_finished.operation == dll_op->op); | 613 | GNUNET_assert (event->op == dll_op->op); |
614 | GNUNET_CONTAINER_DLL_remove (rc->dll_op_head, rc->dll_op_tail, dll_op); | 614 | GNUNET_CONTAINER_DLL_remove (rc->dll_op_head, rc->dll_op_tail, dll_op); |
615 | GNUNET_TESTBED_operation_done (dll_op->op); | 615 | GNUNET_TESTBED_operation_done (dll_op->op); |
616 | GNUNET_free (dll_op); | 616 | GNUNET_free (dll_op); |
@@ -629,7 +629,7 @@ event_cb (void *cls, const struct GNUNET_TESTBED_EventInformation *event) | |||
629 | for (dll_op = rc->dll_op_head; NULL != dll_op; dll_op = dll_op->next) | 629 | for (dll_op = rc->dll_op_head; NULL != dll_op; dll_op = dll_op->next) |
630 | { | 630 | { |
631 | if ((GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type) && | 631 | if ((GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type) && |
632 | (event->details.operation_finished.operation == dll_op->op)) | 632 | (event->op == dll_op->op)) |
633 | break; | 633 | break; |
634 | } | 634 | } |
635 | if (NULL == dll_op) | 635 | if (NULL == dll_op) |