diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2012-06-13 15:23:49 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2012-06-13 15:23:49 +0000 |
commit | e05cff45c3a0cc64197962ade380ac57093b6623 (patch) | |
tree | d2e81a2012db02f29926dc45fc172587783309f0 /src/testbed/testbed_api.c | |
parent | 2742cca3d2180b4f615c40609fccf10a806f05c8 (diff) | |
download | gnunet-e05cff45c3a0cc64197962ade380ac57093b6623.tar.gz gnunet-e05cff45c3a0cc64197962ade380ac57093b6623.zip |
-handler for INIT messages in testbed server
Diffstat (limited to 'src/testbed/testbed_api.c')
-rw-r--r-- | src/testbed/testbed_api.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/testbed/testbed_api.c b/src/testbed/testbed_api.c index f12ed64fc..7d86d5fd5 100644 --- a/src/testbed/testbed_api.c +++ b/src/testbed/testbed_api.c | |||
@@ -82,7 +82,7 @@ struct GNUNET_TESTBED_Controller | |||
82 | /** | 82 | /** |
83 | * The helper handle | 83 | * The helper handle |
84 | */ | 84 | */ |
85 | struct GNUNET_HELPER_Handle *h; | 85 | struct GNUNET_HELPER_Handle *helper; |
86 | 86 | ||
87 | /** | 87 | /** |
88 | * The controller callback | 88 | * The controller callback |
@@ -142,6 +142,7 @@ transmit_ready_notify (void *cls, size_t size, void *buf) | |||
142 | struct GNUNET_TESTBED_Controller *c = cls; | 142 | struct GNUNET_TESTBED_Controller *c = cls; |
143 | struct MessageQueue *mq_entry; | 143 | struct MessageQueue *mq_entry; |
144 | 144 | ||
145 | c->th = NULL; | ||
145 | mq_entry = c->mq_head; | 146 | mq_entry = c->mq_head; |
146 | GNUNET_assert (NULL != mq_entry); | 147 | GNUNET_assert (NULL != mq_entry); |
147 | GNUNET_assert (ntohs (mq_entry->msg->size) <= size); | 148 | GNUNET_assert (ntohs (mq_entry->msg->size) <= size); |
@@ -277,9 +278,9 @@ GNUNET_TESTBED_controller_start (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
277 | "gnunet-service-testbed", | 278 | "gnunet-service-testbed", |
278 | NULL}; | 279 | NULL}; |
279 | controller = GNUNET_malloc (sizeof (struct GNUNET_TESTBED_Controller)); | 280 | controller = GNUNET_malloc (sizeof (struct GNUNET_TESTBED_Controller)); |
280 | controller->h = GNUNET_TESTBED_host_run_ (host, binary_argv, | 281 | controller->helper = GNUNET_TESTBED_host_run_ (host, binary_argv, |
281 | &server_mst_cb, controller); | 282 | &server_mst_cb, controller); |
282 | if (NULL == controller->h) | 283 | if (NULL == controller->helper) |
283 | { | 284 | { |
284 | GNUNET_free (controller); | 285 | GNUNET_free (controller); |
285 | return NULL; | 286 | return NULL; |
@@ -325,7 +326,20 @@ GNUNET_TESTBED_controller_configure_sharing (struct GNUNET_TESTBED_Controller *c | |||
325 | void | 326 | void |
326 | GNUNET_TESTBED_controller_stop (struct GNUNET_TESTBED_Controller *controller) | 327 | GNUNET_TESTBED_controller_stop (struct GNUNET_TESTBED_Controller *controller) |
327 | { | 328 | { |
328 | GNUNET_break (0); | 329 | struct MessageQueue *mq_entry; |
330 | |||
331 | if (NULL != controller->th) | ||
332 | GNUNET_CLIENT_notify_transmit_ready_cancel (controller->th); | ||
333 | for (mq_entry = controller->mq_head; /* Clear the message queue */ | ||
334 | NULL != mq_entry; mq_entry = controller->mq_head) | ||
335 | { | ||
336 | GNUNET_free (mq_entry->msg); | ||
337 | GNUNET_free (mq_entry); | ||
338 | } | ||
339 | GNUNET_CLIENT_disconnect (controller->client); | ||
340 | GNUNET_HELPER_stop (controller->helper); | ||
341 | GNUNET_CONFIGURATION_destroy (controller->cfg); | ||
342 | GNUNET_free (controller); | ||
329 | } | 343 | } |
330 | 344 | ||
331 | 345 | ||