aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/test_testbed_api_controllerlink.c
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2012-08-17 14:54:29 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2012-08-17 14:54:29 +0000
commit14c98ff17a8b1e4db1e6445f6116b7be5b4b8934 (patch)
treef08a66a8d151a4d0a16641cfcd5b0b8152bce24f /src/testbed/test_testbed_api_controllerlink.c
parentd6f2d6cd9b3a14e9dc7cea1e5d1863d6d59af0af (diff)
downloadgnunet-14c98ff17a8b1e4db1e6445f6116b7be5b4b8934.tar.gz
gnunet-14c98ff17a8b1e4db1e6445f6116b7be5b4b8934.zip
controller link as operation
Diffstat (limited to 'src/testbed/test_testbed_api_controllerlink.c')
-rw-r--r--src/testbed/test_testbed_api_controllerlink.c34
1 files changed, 27 insertions, 7 deletions
diff --git a/src/testbed/test_testbed_api_controllerlink.c b/src/testbed/test_testbed_api_controllerlink.c
index bda27d8cf..06b0b8029 100644
--- a/src/testbed/test_testbed_api_controllerlink.c
+++ b/src/testbed/test_testbed_api_controllerlink.c
@@ -105,6 +105,11 @@ static struct GNUNET_CONFIGURATION_Handle *cfg;
105static GNUNET_SCHEDULER_TaskIdentifier abort_task; 105static GNUNET_SCHEDULER_TaskIdentifier abort_task;
106 106
107/** 107/**
108 * Operation handle for linking controllers
109 */
110static struct GNUNET_TESTBED_Operation *op;
111
112/**
108 * Event mask 113 * Event mask
109 */ 114 */
110uint64_t event_mask; 115uint64_t event_mask;
@@ -167,7 +172,25 @@ do_abort (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc)
167static void 172static void
168controller_cb(void *cls, const struct GNUNET_TESTBED_EventInformation *event) 173controller_cb(void *cls, const struct GNUNET_TESTBED_EventInformation *event)
169{ 174{
170 GNUNET_assert (0); 175 switch (result)
176 {
177 case SLAVE1_REGISTERED:
178 GNUNET_assert (NULL != event);
179 GNUNET_assert (GNUNET_TESTBED_ET_OPERATION_FINISHED == event->type);
180 GNUNET_assert (event->details.operation_finished.operation == op);
181 GNUNET_assert (NULL == event->details.operation_finished.op_cls);
182 GNUNET_assert (NULL == event->details.operation_finished.emsg);
183 GNUNET_assert (GNUNET_TESTBED_PIT_GENERIC ==
184 event->details.operation_finished.pit);
185 GNUNET_assert (NULL == event->details.operation_finished.op_result.generic);
186 GNUNET_TESTBED_operation_done (op);
187 op = NULL;
188 result = SUCCESS;
189 GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
190 break;
191 default:
192 GNUNET_assert (0);
193 }
171} 194}
172 195
173 196
@@ -188,11 +211,8 @@ registration_cont (void *cls, const char *emsg)
188 GNUNET_assert (NULL != mc); 211 GNUNET_assert (NULL != mc);
189 result = SLAVE1_REGISTERED; 212 result = SLAVE1_REGISTERED;
190 GNUNET_assert (NULL != cfg); 213 GNUNET_assert (NULL != cfg);
191 GNUNET_TESTBED_controller_link (mc, slave, NULL, cfg, GNUNET_YES); 214 op = GNUNET_TESTBED_controller_link (mc, slave, NULL, cfg, GNUNET_YES);
192 result = SUCCESS; 215 GNUNET_assert (NULL != op);
193 GNUNET_SCHEDULER_add_delayed
194 (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10),
195 &do_shutdown, NULL);
196 break; 216 break;
197 case INIT: 217 case INIT:
198 case SUCCESS: 218 case SUCCESS:
@@ -256,7 +276,7 @@ run (void *cls, char *const *args, const char *cfgfile,
256 cp = 276 cp =
257 GNUNET_TESTBED_controller_start ("127.0.0.1", host, cfg, status_cb, NULL); 277 GNUNET_TESTBED_controller_start ("127.0.0.1", host, cfg, status_cb, NULL);
258 abort_task = GNUNET_SCHEDULER_add_delayed 278 abort_task = GNUNET_SCHEDULER_add_delayed
259 (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 30), 279 (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 5),
260 &do_abort, NULL); 280 &do_abort, NULL);
261} 281}
262 282