diff options
Diffstat (limited to 'src/transport/test_transport_api_disconnect.c')
-rw-r--r-- | src/transport/test_transport_api_disconnect.c | 65 |
1 files changed, 30 insertions, 35 deletions
diff --git a/src/transport/test_transport_api_disconnect.c b/src/transport/test_transport_api_disconnect.c index 08f57b670..daae553b7 100644 --- a/src/transport/test_transport_api_disconnect.c +++ b/src/transport/test_transport_api_disconnect.c | |||
@@ -185,8 +185,7 @@ end_badly () | |||
185 | 185 | ||
186 | 186 | ||
187 | static void | 187 | static void |
188 | notify_receive (void *cls, | 188 | notify_receive (void *cls, const struct GNUNET_PeerIdentity *peer, |
189 | const struct GNUNET_PeerIdentity *peer, | ||
190 | const struct GNUNET_MessageHeader *message, | 189 | const struct GNUNET_MessageHeader *message, |
191 | const struct GNUNET_TRANSPORT_ATS_Information *ats, | 190 | const struct GNUNET_TRANSPORT_ATS_Information *ats, |
192 | uint32_t ats_count) | 191 | uint32_t ats_count) |
@@ -201,8 +200,8 @@ notify_receive (void *cls, | |||
201 | msgs_recv++; | 200 | msgs_recv++; |
202 | } | 201 | } |
203 | 202 | ||
204 | static void | 203 | static void peers_disconnect (void *cls, |
205 | peers_disconnect (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc); | 204 | const struct GNUNET_SCHEDULER_TaskContext *tc); |
206 | 205 | ||
207 | static size_t | 206 | static size_t |
208 | notify_ready (void *cls, size_t size, void *buf) | 207 | notify_ready (void *cls, size_t size, void *buf) |
@@ -231,13 +230,12 @@ notify_ready (void *cls, size_t size, void *buf) | |||
231 | 230 | ||
232 | 231 | ||
233 | static void | 232 | static void |
234 | notify_connect (void *cls, | 233 | notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer, |
235 | const struct GNUNET_PeerIdentity *peer, | ||
236 | const struct GNUNET_TRANSPORT_ATS_Information *ats, | 234 | const struct GNUNET_TRANSPORT_ATS_Information *ats, |
237 | uint32_t ats_count) | 235 | uint32_t ats_count) |
238 | { | 236 | { |
239 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 237 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer `%4s' connected to us (%p)!\n", |
240 | "Peer `%4s' connected to us (%p)!\n", GNUNET_i2s (peer), cls); | 238 | GNUNET_i2s (peer), cls); |
241 | peers_connected++; | 239 | peers_connected++; |
242 | if (cls == &p1) | 240 | if (cls == &p1) |
243 | { | 241 | { |
@@ -250,12 +248,10 @@ notify_connect (void *cls, | |||
250 | GNUNET_SCHEDULER_cancel (tct); | 248 | GNUNET_SCHEDULER_cancel (tct); |
251 | tct = GNUNET_SCHEDULER_NO_TASK; | 249 | tct = GNUNET_SCHEDULER_NO_TASK; |
252 | 250 | ||
253 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT_TRANSMIT, | 251 | die_task = |
254 | &end_badly, NULL); | 252 | GNUNET_SCHEDULER_add_delayed (TIMEOUT_TRANSMIT, &end_badly, NULL); |
255 | th = GNUNET_TRANSPORT_notify_transmit_ready (p1.th, | 253 | th = GNUNET_TRANSPORT_notify_transmit_ready (p1.th, &p2.id, 256, 0, TIMEOUT, |
256 | &p2.id, | 254 | ¬ify_ready, &p1); |
257 | 256, 0, TIMEOUT, ¬ify_ready, | ||
258 | &p1); | ||
259 | } | 255 | } |
260 | } | 256 | } |
261 | 257 | ||
@@ -263,8 +259,8 @@ notify_connect (void *cls, | |||
263 | static void | 259 | static void |
264 | notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer) | 260 | notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer) |
265 | { | 261 | { |
266 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 262 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer `%4s' disconnected (%p)!\n", |
267 | "Peer `%4s' disconnected (%p)!\n", GNUNET_i2s (peer), cls); | 263 | GNUNET_i2s (peer), cls); |
268 | peers_connected--; | 264 | peers_connected--; |
269 | } | 265 | } |
270 | 266 | ||
@@ -282,12 +278,13 @@ setup_peer (struct PeerContext *p, const char *cfgname) | |||
282 | GNUNET_DISK_directory_remove (p->servicehome); | 278 | GNUNET_DISK_directory_remove (p->servicehome); |
283 | 279 | ||
284 | #if START_ARM | 280 | #if START_ARM |
285 | p->arm_proc = GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", | 281 | p->arm_proc = |
286 | "gnunet-service-arm", | 282 | GNUNET_OS_start_process (NULL, NULL, "gnunet-service-arm", |
283 | "gnunet-service-arm", | ||
287 | #if VERBOSE_ARM | 284 | #if VERBOSE_ARM |
288 | "-L", "DEBUG", | 285 | "-L", "DEBUG", |
289 | #endif | 286 | #endif |
290 | "-c", cfgname, NULL); | 287 | "-c", cfgname, NULL); |
291 | #endif | 288 | #endif |
292 | 289 | ||
293 | } | 290 | } |
@@ -300,8 +297,9 @@ try_connect (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
300 | /* FIXME: 'pX.id' may still be all-zeros here... */ | 297 | /* FIXME: 'pX.id' may still be all-zeros here... */ |
301 | GNUNET_TRANSPORT_try_connect (p2.th, &p1.id); | 298 | GNUNET_TRANSPORT_try_connect (p2.th, &p1.id); |
302 | GNUNET_TRANSPORT_try_connect (p1.th, &p2.id); | 299 | GNUNET_TRANSPORT_try_connect (p1.th, &p2.id); |
303 | tct = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, | 300 | tct = |
304 | &try_connect, NULL); | 301 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &try_connect, |
302 | NULL); | ||
305 | } | 303 | } |
306 | 304 | ||
307 | 305 | ||
@@ -340,16 +338,14 @@ peers_connect () | |||
340 | ITERATIONS); | 338 | ITERATIONS); |
341 | 339 | ||
342 | GNUNET_assert (p1.th == NULL); | 340 | GNUNET_assert (p1.th == NULL); |
343 | p1.th = GNUNET_TRANSPORT_connect (p1.cfg, | 341 | p1.th = |
344 | NULL, &p1, | 342 | GNUNET_TRANSPORT_connect (p1.cfg, NULL, &p1, ¬ify_receive, |
345 | ¬ify_receive, | 343 | ¬ify_connect, ¬ify_disconnect); |
346 | ¬ify_connect, ¬ify_disconnect); | ||
347 | 344 | ||
348 | GNUNET_assert (p2.th == NULL); | 345 | GNUNET_assert (p2.th == NULL); |
349 | p2.th = GNUNET_TRANSPORT_connect (p2.cfg, | 346 | p2.th = |
350 | NULL, &p2, | 347 | GNUNET_TRANSPORT_connect (p2.cfg, NULL, &p2, ¬ify_receive, |
351 | ¬ify_receive, | 348 | ¬ify_connect, ¬ify_disconnect); |
352 | ¬ify_connect, ¬ify_disconnect); | ||
353 | 349 | ||
354 | GNUNET_assert (p1.th != NULL); | 350 | GNUNET_assert (p1.th != NULL); |
355 | GNUNET_assert (p2.th != NULL); | 351 | GNUNET_assert (p2.th != NULL); |
@@ -360,9 +356,8 @@ peers_connect () | |||
360 | } | 356 | } |
361 | 357 | ||
362 | static void | 358 | static void |
363 | run (void *cls, | 359 | run (void *cls, char *const *args, const char *cfgfile, |
364 | char *const *args, | 360 | const struct GNUNET_CONFIGURATION_Handle *cfg) |
365 | const char *cfgfile, const struct GNUNET_CONFIGURATION_Handle *cfg) | ||
366 | { | 361 | { |
367 | GNUNET_assert (ok == 1); | 362 | GNUNET_assert (ok == 1); |
368 | OKPP; | 363 | OKPP; |
@@ -393,8 +388,8 @@ check () | |||
393 | setTransportOptions ("test_transport_api_data.conf"); | 388 | setTransportOptions ("test_transport_api_data.conf"); |
394 | #endif | 389 | #endif |
395 | ok = 1; | 390 | ok = 1; |
396 | GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, | 391 | GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv, |
397 | argv, "test-transport-api", "nohelp", options, &run, &ok); | 392 | "test-transport-api", "nohelp", options, &run, &ok); |
398 | stop_arm (&p1); | 393 | stop_arm (&p1); |
399 | stop_arm (&p2); | 394 | stop_arm (&p2); |
400 | 395 | ||