diff options
-rw-r--r-- | src/transport/transport-testing2.c | 57 |
1 files changed, 41 insertions, 16 deletions
diff --git a/src/transport/transport-testing2.c b/src/transport/transport-testing2.c index ca338c52f..374d78f67 100644 --- a/src/transport/transport-testing2.c +++ b/src/transport/transport-testing2.c | |||
@@ -335,9 +335,15 @@ hello_iter_cb (void *cb_cls, | |||
335 | const char *emsg) | 335 | const char *emsg) |
336 | { | 336 | { |
337 | struct GNUNET_TRANSPORT_TESTING_PeerContext *p = cb_cls; | 337 | struct GNUNET_TRANSPORT_TESTING_PeerContext *p = cb_cls; |
338 | if ((NULL == record) && (NULL == emsg)) | ||
339 | { | ||
340 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Iteration End\n"); | ||
341 | return; | ||
342 | } | ||
338 | //Check record type et al? | 343 | //Check record type et al? |
339 | p->hello = GNUNET_malloc (record->value_size); | 344 | p->hello_size = record->value_size; |
340 | memcpy (p->hello, record->value, record->value_size); | 345 | p->hello = GNUNET_malloc (p->hello_size); |
346 | memcpy (p->hello, record->value, p->hello_size); | ||
341 | 347 | ||
342 | GNUNET_PEERSTORE_iterate_cancel (p->pic); | 348 | GNUNET_PEERSTORE_iterate_cancel (p->pic); |
343 | if (NULL != p->start_cb) | 349 | if (NULL != p->start_cb) |
@@ -351,6 +357,23 @@ hello_iter_cb (void *cb_cls, | |||
351 | } | 357 | } |
352 | } | 358 | } |
353 | 359 | ||
360 | static void | ||
361 | retrieve_hello(void *cls) | ||
362 | { | ||
363 | struct GNUNET_TRANSPORT_TESTING_PeerContext *p = cls; | ||
364 | LOG (GNUNET_ERROR_TYPE_DEBUG, | ||
365 | "Getting hello...\n"); | ||
366 | |||
367 | p->pic = GNUNET_PEERSTORE_iterate (p->ph, | ||
368 | "transport", | ||
369 | &p->id, | ||
370 | GNUNET_PEERSTORE_TRANSPORT_HELLO_KEY, | ||
371 | hello_iter_cb, | ||
372 | p); | ||
373 | |||
374 | } | ||
375 | |||
376 | |||
354 | 377 | ||
355 | /** | 378 | /** |
356 | * Start a peer with the given configuration | 379 | * Start a peer with the given configuration |
@@ -507,13 +530,15 @@ GNUNET_TRANSPORT_TESTING_start_peer (struct | |||
507 | GNUNET_TRANSPORT_TESTING_stop_peer (p); | 530 | GNUNET_TRANSPORT_TESTING_stop_peer (p); |
508 | return NULL; | 531 | return NULL; |
509 | } | 532 | } |
510 | p->pic = GNUNET_PEERSTORE_iterate (p->ph, | 533 | p->ph = GNUNET_PEERSTORE_connect (p->cfg); |
511 | "transport", | 534 | // FIXME Error handling |
512 | &p->id, | 535 | p->ah = GNUNET_TRANSPORT_application_init (p->cfg); |
513 | GNUNET_PEERSTORE_TRANSPORT_HELLO_KEY, | 536 | GNUNET_assert (NULL != p->ah); |
514 | hello_iter_cb, | 537 | // FIXME Error handleing |
515 | p); | 538 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, |
516 | GNUNET_assert (NULL != p->pic); | 539 | retrieve_hello, |
540 | p); | ||
541 | //GNUNET_assert (NULL != p->pic); | ||
517 | 542 | ||
518 | return p; | 543 | return p; |
519 | } | 544 | } |
@@ -739,18 +764,18 @@ offer_hello (void *cls) | |||
739 | GNUNET_i2s (&p1->id), | 764 | GNUNET_i2s (&p1->id), |
740 | p2->no, | 765 | p2->no, |
741 | p2_s, | 766 | p2_s, |
742 | cc->p2->hello); | 767 | p2->hello); |
743 | GNUNET_free (p2_s); | 768 | GNUNET_free (p2_s); |
744 | } | 769 | } |
745 | 770 | ||
746 | addr = GNUNET_HELLO_extract_address (cc->p2->hello, | 771 | addr = GNUNET_HELLO_extract_address (p2->hello, |
747 | cc->p2->hello_size, | 772 | strlen (p2->hello), |
748 | &cc->p2->id, | 773 | &p2->id, |
749 | &nt, | 774 | &nt, |
750 | &t); | 775 | &t); |
751 | GNUNET_assert (NULL == addr); | 776 | GNUNET_assert (NULL != addr); |
752 | GNUNET_TRANSPORT_application_validate (cc->p1->ah, | 777 | GNUNET_TRANSPORT_application_validate (p1->ah, |
753 | &cc->p2->id, | 778 | &p2->id, |
754 | nt, | 779 | nt, |
755 | addr); | 780 | addr); |
756 | GNUNET_free (addr); | 781 | GNUNET_free (addr); |