diff options
author | Martin Schanzenbach <mschanzenbach@posteo.de> | 2021-02-26 15:14:03 +0100 |
---|---|---|
committer | Martin Schanzenbach <mschanzenbach@posteo.de> | 2021-02-26 15:14:03 +0100 |
commit | b2ef30b3eb815fbb34a519581e1afc8bac393269 (patch) | |
tree | a47374db9d377a98eb3e5863ec532f550ebf8a16 /src/transport | |
parent | 6edac715d38f2126ea7316373cfd27c3d76b05cf (diff) | |
download | gnunet-b2ef30b3eb815fbb34a519581e1afc8bac393269.tar.gz gnunet-b2ef30b3eb815fbb34a519581e1afc8bac393269.zip |
-First message through TNG test done
Diffstat (limited to 'src/transport')
-rw-r--r-- | src/transport/gnunet-service-tng.c | 124 | ||||
-rw-r--r-- | src/transport/test_transport_api2_tcp_peer1.conf | 1 | ||||
-rw-r--r-- | src/transport/test_transport_api2_tcp_peer2.conf | 2 | ||||
-rw-r--r-- | src/transport/transport-testing2.c | 67 |
4 files changed, 100 insertions, 94 deletions
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c index 64cb53ad8..aaa9f129b 100644 --- a/src/transport/gnunet-service-tng.c +++ b/src/transport/gnunet-service-tng.c | |||
@@ -2772,6 +2772,11 @@ static unsigned int pa_count; | |||
2772 | */ | 2772 | */ |
2773 | static struct GNUNET_TIME_Absolute hello_mono_time; | 2773 | static struct GNUNET_TIME_Absolute hello_mono_time; |
2774 | 2774 | ||
2775 | /** | ||
2776 | * Indication if we have received a shutdown signal | ||
2777 | * and are in the process of cleaning up. | ||
2778 | */ | ||
2779 | static int in_shutdown; | ||
2775 | 2780 | ||
2776 | /** | 2781 | /** |
2777 | * Get an offset into the transmission history buffer for `struct | 2782 | * Get an offset into the transmission history buffer for `struct |
@@ -2805,6 +2810,7 @@ free_incoming_request (struct IncomingRequest *ir) | |||
2805 | GNUNET_assert (ir_total > 0); | 2810 | GNUNET_assert (ir_total > 0); |
2806 | ir_total--; | 2811 | ir_total--; |
2807 | GNUNET_PEERSTORE_watch_cancel (ir->wc); | 2812 | GNUNET_PEERSTORE_watch_cancel (ir->wc); |
2813 | ir->wc = NULL; | ||
2808 | GNUNET_free (ir); | 2814 | GNUNET_free (ir); |
2809 | } | 2815 | } |
2810 | 2816 | ||
@@ -3333,6 +3339,8 @@ free_neighbour (struct Neighbour *neighbour) | |||
3333 | GNUNET_CONTAINER_multipeermap_remove (neighbours, | 3339 | GNUNET_CONTAINER_multipeermap_remove (neighbours, |
3334 | &neighbour->pid, | 3340 | &neighbour->pid, |
3335 | neighbour)); | 3341 | neighbour)); |
3342 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
3343 | "Freeing neighbour\n"); | ||
3336 | if (NULL != neighbour->reassembly_map) | 3344 | if (NULL != neighbour->reassembly_map) |
3337 | { | 3345 | { |
3338 | GNUNET_CONTAINER_multihashmap32_iterate (neighbour->reassembly_map, | 3346 | GNUNET_CONTAINER_multihashmap32_iterate (neighbour->reassembly_map, |
@@ -3499,6 +3507,8 @@ check_link_down (void *cls) | |||
3499 | struct GNUNET_TIME_Absolute dvh_timeout; | 3507 | struct GNUNET_TIME_Absolute dvh_timeout; |
3500 | struct GNUNET_TIME_Absolute q_timeout; | 3508 | struct GNUNET_TIME_Absolute q_timeout; |
3501 | 3509 | ||
3510 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
3511 | "Checking if link is down\n"); | ||
3502 | vl->visibility_task = NULL; | 3512 | vl->visibility_task = NULL; |
3503 | dvh_timeout = GNUNET_TIME_UNIT_ZERO_ABS; | 3513 | dvh_timeout = GNUNET_TIME_UNIT_ZERO_ABS; |
3504 | if (NULL != dv) | 3514 | if (NULL != dv) |
@@ -3660,6 +3670,7 @@ stop_peer_request (void *cls, | |||
3660 | struct PeerRequest *pr = value; | 3670 | struct PeerRequest *pr = value; |
3661 | 3671 | ||
3662 | GNUNET_PEERSTORE_watch_cancel (pr->wc); | 3672 | GNUNET_PEERSTORE_watch_cancel (pr->wc); |
3673 | pr->wc = NULL; | ||
3663 | GNUNET_assert ( | 3674 | GNUNET_assert ( |
3664 | GNUNET_YES == | 3675 | GNUNET_YES == |
3665 | GNUNET_CONTAINER_multipeermap_remove (tc->details.application.requests, | 3676 | GNUNET_CONTAINER_multipeermap_remove (tc->details.application.requests, |
@@ -3670,6 +3681,8 @@ stop_peer_request (void *cls, | |||
3670 | return GNUNET_OK; | 3681 | return GNUNET_OK; |
3671 | } | 3682 | } |
3672 | 3683 | ||
3684 | static void | ||
3685 | do_shutdown (void *cls); | ||
3673 | 3686 | ||
3674 | /** | 3687 | /** |
3675 | * Called whenever a client is disconnected. Frees our | 3688 | * Called whenever a client is disconnected. Frees our |
@@ -3688,16 +3701,20 @@ client_disconnect_cb (void *cls, | |||
3688 | 3701 | ||
3689 | (void) cls; | 3702 | (void) cls; |
3690 | (void) client; | 3703 | (void) client; |
3691 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
3692 | "Client %p disconnected, cleaning up.\n", | ||
3693 | tc); | ||
3694 | GNUNET_CONTAINER_DLL_remove (clients_head, clients_tail, tc); | 3704 | GNUNET_CONTAINER_DLL_remove (clients_head, clients_tail, tc); |
3695 | switch (tc->type) | 3705 | switch (tc->type) |
3696 | { | 3706 | { |
3697 | case CT_NONE: | 3707 | case CT_NONE: |
3708 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
3709 | "Unknown Client %p disconnected, cleaning up.\n", | ||
3710 | tc); | ||
3698 | break; | 3711 | break; |
3699 | 3712 | ||
3700 | case CT_CORE: { | 3713 | case CT_CORE: { |
3714 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
3715 | "CORE Client %p disconnected, cleaning up.\n", | ||
3716 | tc); | ||
3717 | |||
3701 | struct PendingMessage *pm; | 3718 | struct PendingMessage *pm; |
3702 | 3719 | ||
3703 | while (NULL != (pm = tc->details.core.pending_msg_head)) | 3720 | while (NULL != (pm = tc->details.core.pending_msg_head)) |
@@ -3712,9 +3729,17 @@ client_disconnect_cb (void *cls, | |||
3712 | break; | 3729 | break; |
3713 | 3730 | ||
3714 | case CT_MONITOR: | 3731 | case CT_MONITOR: |
3732 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
3733 | "MONITOR Client %p disconnected, cleaning up.\n", | ||
3734 | tc); | ||
3735 | |||
3715 | break; | 3736 | break; |
3716 | 3737 | ||
3717 | case CT_COMMUNICATOR: { | 3738 | case CT_COMMUNICATOR: { |
3739 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
3740 | "COMMUNICATOR Client %p disconnected, cleaning up.\n", | ||
3741 | tc); | ||
3742 | |||
3718 | struct Queue *q; | 3743 | struct Queue *q; |
3719 | struct AddressListEntry *ale; | 3744 | struct AddressListEntry *ale; |
3720 | 3745 | ||
@@ -3727,6 +3752,10 @@ client_disconnect_cb (void *cls, | |||
3727 | break; | 3752 | break; |
3728 | 3753 | ||
3729 | case CT_APPLICATION: | 3754 | case CT_APPLICATION: |
3755 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
3756 | "APPLICATION Client %p disconnected, cleaning up.\n", | ||
3757 | tc); | ||
3758 | |||
3730 | GNUNET_CONTAINER_multipeermap_iterate (tc->details.application.requests, | 3759 | GNUNET_CONTAINER_multipeermap_iterate (tc->details.application.requests, |
3731 | &stop_peer_request, | 3760 | &stop_peer_request, |
3732 | tc); | 3761 | tc); |
@@ -3734,6 +3763,12 @@ client_disconnect_cb (void *cls, | |||
3734 | break; | 3763 | break; |
3735 | } | 3764 | } |
3736 | GNUNET_free (tc); | 3765 | GNUNET_free (tc); |
3766 | if ((GNUNET_YES == in_shutdown) && (NULL == clients_head)) | ||
3767 | { | ||
3768 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
3769 | "Our last client disconnected\n"); | ||
3770 | do_shutdown (cls); | ||
3771 | } | ||
3737 | } | 3772 | } |
3738 | 3773 | ||
3739 | 3774 | ||
@@ -5166,7 +5201,9 @@ handle_del_address (void *cls, | |||
5166 | GNUNET_SERVICE_client_continue (tc->client); | 5201 | GNUNET_SERVICE_client_continue (tc->client); |
5167 | return; | 5202 | return; |
5168 | } | 5203 | } |
5169 | GNUNET_break (0); | 5204 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
5205 | "Communicator removed address we did not even have.\n"); | ||
5206 | GNUNET_SERVICE_client_continue (tc->client); | ||
5170 | //GNUNET_SERVICE_client_drop (tc->client); | 5207 | //GNUNET_SERVICE_client_drop (tc->client); |
5171 | } | 5208 | } |
5172 | 5209 | ||
@@ -10046,52 +10083,6 @@ free_ack_cummulator_cb (void *cls, | |||
10046 | return GNUNET_OK; | 10083 | return GNUNET_OK; |
10047 | } | 10084 | } |
10048 | 10085 | ||
10049 | void | ||
10050 | cleanup_client (struct TransportClient *tc) | ||
10051 | { | ||
10052 | switch (tc->type) | ||
10053 | { | ||
10054 | case CT_NONE: | ||
10055 | break; | ||
10056 | |||
10057 | case CT_CORE: { | ||
10058 | struct PendingMessage *pm; | ||
10059 | |||
10060 | while (NULL != (pm = tc->details.core.pending_msg_head)) | ||
10061 | { | ||
10062 | GNUNET_CONTAINER_MDLL_remove (client, | ||
10063 | tc->details.core.pending_msg_head, | ||
10064 | tc->details.core.pending_msg_tail, | ||
10065 | pm); | ||
10066 | pm->client = NULL; | ||
10067 | } | ||
10068 | } | ||
10069 | break; | ||
10070 | |||
10071 | case CT_MONITOR: | ||
10072 | break; | ||
10073 | |||
10074 | case CT_COMMUNICATOR: { | ||
10075 | struct Queue *q; | ||
10076 | struct AddressListEntry *ale; | ||
10077 | |||
10078 | while (NULL != (q = tc->details.communicator.queue_head)) | ||
10079 | free_queue (q); | ||
10080 | while (NULL != (ale = tc->details.communicator.addr_head)) | ||
10081 | free_address_list_entry (ale); | ||
10082 | GNUNET_free (tc->details.communicator.address_prefix); | ||
10083 | } | ||
10084 | break; | ||
10085 | |||
10086 | case CT_APPLICATION: | ||
10087 | GNUNET_CONTAINER_multipeermap_iterate (tc->details.application.requests, | ||
10088 | &stop_peer_request, | ||
10089 | tc); | ||
10090 | GNUNET_CONTAINER_multipeermap_destroy (tc->details.application.requests); | ||
10091 | break; | ||
10092 | } | ||
10093 | |||
10094 | } | ||
10095 | 10086 | ||
10096 | /** | 10087 | /** |
10097 | * Function called when the service shuts down. Unloads our plugins | 10088 | * Function called when the service shuts down. Unloads our plugins |
@@ -10103,20 +10094,10 @@ static void | |||
10103 | do_shutdown (void *cls) | 10094 | do_shutdown (void *cls) |
10104 | { | 10095 | { |
10105 | struct LearnLaunchEntry *lle; | 10096 | struct LearnLaunchEntry *lle; |
10106 | struct TransportClient *client; | ||
10107 | 10097 | ||
10108 | (void) cls; | 10098 | (void) cls; |
10109 | for (client = clients_head; NULL != client; client = client->next) | 10099 | GNUNET_CONTAINER_multipeermap_iterate (neighbours, |
10110 | { | 10100 | &free_neighbour_cb, NULL); |
10111 | cleanup_client (client); | ||
10112 | } | ||
10113 | //GNUNET_CONTAINER_multipeermap_iterate (neighbours, | ||
10114 | //&free_neighbour_cb, NULL); | ||
10115 | if (NULL != peerstore) | ||
10116 | { | ||
10117 | GNUNET_PEERSTORE_disconnect (peerstore, GNUNET_NO); | ||
10118 | peerstore = NULL; | ||
10119 | } | ||
10120 | if (NULL != validation_task) | 10101 | if (NULL != validation_task) |
10121 | { | 10102 | { |
10122 | GNUNET_SCHEDULER_cancel (validation_task); | 10103 | GNUNET_SCHEDULER_cancel (validation_task); |
@@ -10171,6 +10152,13 @@ do_shutdown (void *cls) | |||
10171 | GNUNET_CONTAINER_DLL_remove (lle_head, lle_tail, lle); | 10152 | GNUNET_CONTAINER_DLL_remove (lle_head, lle_tail, lle); |
10172 | GNUNET_free (lle); | 10153 | GNUNET_free (lle); |
10173 | } | 10154 | } |
10155 | if (NULL != peerstore) | ||
10156 | { | ||
10157 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
10158 | "Disconnecting from PEERSTORE service\n"); | ||
10159 | GNUNET_PEERSTORE_disconnect (peerstore, GNUNET_NO); | ||
10160 | peerstore = NULL; | ||
10161 | } | ||
10174 | GNUNET_CONTAINER_multishortmap_destroy (dvlearn_map); | 10162 | GNUNET_CONTAINER_multishortmap_destroy (dvlearn_map); |
10175 | dvlearn_map = NULL; | 10163 | dvlearn_map = NULL; |
10176 | GNUNET_CONTAINER_heap_destroy (validation_heap); | 10164 | GNUNET_CONTAINER_heap_destroy (validation_heap); |
@@ -10178,6 +10166,15 @@ do_shutdown (void *cls) | |||
10178 | GNUNET_CONTAINER_multipeermap_iterate (dv_routes, &free_dv_routes_cb, NULL); | 10166 | GNUNET_CONTAINER_multipeermap_iterate (dv_routes, &free_dv_routes_cb, NULL); |
10179 | GNUNET_CONTAINER_multipeermap_destroy (dv_routes); | 10167 | GNUNET_CONTAINER_multipeermap_destroy (dv_routes); |
10180 | dv_routes = NULL; | 10168 | dv_routes = NULL; |
10169 | GNUNET_SCHEDULER_shutdown (); | ||
10170 | } | ||
10171 | |||
10172 | static void | ||
10173 | shutdown_task (void *cls) | ||
10174 | { | ||
10175 | in_shutdown = GNUNET_YES; | ||
10176 | if (NULL == clients_head) | ||
10177 | do_shutdown (cls); | ||
10181 | } | 10178 | } |
10182 | 10179 | ||
10183 | 10180 | ||
@@ -10197,6 +10194,7 @@ run (void *cls, | |||
10197 | (void) service; | 10194 | (void) service; |
10198 | /* setup globals */ | 10195 | /* setup globals */ |
10199 | hello_mono_time = GNUNET_TIME_absolute_get_monotonic (c); | 10196 | hello_mono_time = GNUNET_TIME_absolute_get_monotonic (c); |
10197 | in_shutdown = GNUNET_NO; | ||
10200 | GST_cfg = c; | 10198 | GST_cfg = c; |
10201 | backtalkers = GNUNET_CONTAINER_multipeermap_create (16, GNUNET_YES); | 10199 | backtalkers = GNUNET_CONTAINER_multipeermap_create (16, GNUNET_YES); |
10202 | pending_acks = GNUNET_CONTAINER_multiuuidmap_create (32768, GNUNET_YES); | 10200 | pending_acks = GNUNET_CONTAINER_multiuuidmap_create (32768, GNUNET_YES); |
@@ -10226,7 +10224,7 @@ run (void *cls, | |||
10226 | "My identity is `%s'\n", | 10224 | "My identity is `%s'\n", |
10227 | GNUNET_i2s_full (&GST_my_identity)); | 10225 | GNUNET_i2s_full (&GST_my_identity)); |
10228 | GST_stats = GNUNET_STATISTICS_create ("transport", GST_cfg); | 10226 | GST_stats = GNUNET_STATISTICS_create ("transport", GST_cfg); |
10229 | GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL); | 10227 | GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); |
10230 | peerstore = GNUNET_PEERSTORE_connect (GST_cfg); | 10228 | peerstore = GNUNET_PEERSTORE_connect (GST_cfg); |
10231 | if (NULL == peerstore) | 10229 | if (NULL == peerstore) |
10232 | { | 10230 | { |
diff --git a/src/transport/test_transport_api2_tcp_peer1.conf b/src/transport/test_transport_api2_tcp_peer1.conf index bc3434069..745ed6887 100644 --- a/src/transport/test_transport_api2_tcp_peer1.conf +++ b/src/transport/test_transport_api2_tcp_peer1.conf | |||
@@ -14,6 +14,7 @@ BINDTO = 60002 | |||
14 | DISABLE_V6 = YES | 14 | DISABLE_V6 = YES |
15 | IMMEDIATE_START = YES | 15 | IMMEDIATE_START = YES |
16 | UNIXPATH = $GNUNET_RUNTIME_DIR/tcp-comm-p1.sock | 16 | UNIXPATH = $GNUNET_RUNTIME_DIR/tcp-comm-p1.sock |
17 | #PREFIX = valgrind --log-file=/tmp/vg_cpeer1-%p | ||
17 | 18 | ||
18 | [peerstore] | 19 | [peerstore] |
19 | IMMEDIATE_START = YES | 20 | IMMEDIATE_START = YES |
diff --git a/src/transport/test_transport_api2_tcp_peer2.conf b/src/transport/test_transport_api2_tcp_peer2.conf index 437fac65d..022468bcd 100644 --- a/src/transport/test_transport_api2_tcp_peer2.conf +++ b/src/transport/test_transport_api2_tcp_peer2.conf | |||
@@ -12,7 +12,7 @@ BINARY = gnunet-communicator-tcp | |||
12 | BINDTO = 60003 | 12 | BINDTO = 60003 |
13 | DISABLE_V6 = YES | 13 | DISABLE_V6 = YES |
14 | IMMEDIATE_START = YES | 14 | IMMEDIATE_START = YES |
15 | PREFIX = valgrind --log-file=/tmp/vg_comm2-%p | 15 | #PREFIX = valgrind --log-file=/tmp/vg_comm2-%p |
16 | UNIXPATH = $GNUNET_RUNTIME_DIR/tcp-comm-p2.sock | 16 | UNIXPATH = $GNUNET_RUNTIME_DIR/tcp-comm-p2.sock |
17 | 17 | ||
18 | [peerstore] | 18 | [peerstore] |
diff --git a/src/transport/transport-testing2.c b/src/transport/transport-testing2.c index 1461915f0..789181d1f 100644 --- a/src/transport/transport-testing2.c +++ b/src/transport/transport-testing2.c | |||
@@ -328,6 +328,8 @@ notify_disconnect (void *cls, | |||
328 | } | 328 | } |
329 | } | 329 | } |
330 | 330 | ||
331 | static void | ||
332 | retrieve_hello (void *cls); | ||
331 | 333 | ||
332 | static void | 334 | static void |
333 | hello_iter_cb (void *cb_cls, | 335 | hello_iter_cb (void *cb_cls, |
@@ -339,6 +341,12 @@ hello_iter_cb (void *cb_cls, | |||
339 | { | 341 | { |
340 | p->pic = NULL; | 342 | p->pic = NULL; |
341 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Iteration End\n"); | 343 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Iteration End\n"); |
344 | if (NULL != p->start_cb) | ||
345 | { | ||
346 | LOG (GNUNET_ERROR_TYPE_DEBUG, | ||
347 | "Did not yet get my hello. Retrying...\n"); | ||
348 | p->rh_task = GNUNET_SCHEDULER_add_now (retrieve_hello, p); | ||
349 | } | ||
342 | return; | 350 | return; |
343 | } | 351 | } |
344 | // Check record type et al? | 352 | // Check record type et al? |
@@ -536,12 +544,8 @@ GNUNET_TRANSPORT_TESTING_start_peer (struct | |||
536 | // FIXME Error handling | 544 | // FIXME Error handling |
537 | p->ah = GNUNET_TRANSPORT_application_init (p->cfg); | 545 | p->ah = GNUNET_TRANSPORT_application_init (p->cfg); |
538 | GNUNET_assert (NULL != p->ah); | 546 | GNUNET_assert (NULL != p->ah); |
539 | // FIXME Error handleing | 547 | // FIXME Error handling |
540 | p->rh_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply ( | 548 | p->rh_task = GNUNET_SCHEDULER_add_now (retrieve_hello, p); |
541 | GNUNET_TIME_UNIT_SECONDS, 10), | ||
542 | retrieve_hello, | ||
543 | p); | ||
544 | // GNUNET_assert (NULL != p->pic); | ||
545 | 549 | ||
546 | return p; | 550 | return p; |
547 | } | 551 | } |
@@ -667,7 +671,7 @@ GNUNET_TRANSPORT_TESTING_stop_peer (struct | |||
667 | } | 671 | } |
668 | if (NULL != p->pic) | 672 | if (NULL != p->pic) |
669 | { | 673 | { |
670 | // GNUNET_PEERSTORE_iterate_cancel (p->pic); | 674 | GNUNET_PEERSTORE_iterate_cancel (p->pic); |
671 | p->pic = NULL; | 675 | p->pic = NULL; |
672 | } | 676 | } |
673 | if (NULL != p->th) | 677 | if (NULL != p->th) |
@@ -675,19 +679,6 @@ GNUNET_TRANSPORT_TESTING_stop_peer (struct | |||
675 | GNUNET_TRANSPORT_core_disconnect (p->th); | 679 | GNUNET_TRANSPORT_core_disconnect (p->th); |
676 | p->th = NULL; | 680 | p->th = NULL; |
677 | } | 681 | } |
678 | if (NULL != p->peer) | ||
679 | { | ||
680 | if (GNUNET_OK != | ||
681 | GNUNET_TESTING_peer_stop (p->peer)) | ||
682 | { | ||
683 | LOG (GNUNET_ERROR_TYPE_DEBUG, | ||
684 | "Testing lib failed to stop peer %u (`%s')\n", | ||
685 | p->no, | ||
686 | GNUNET_i2s (&p->id)); | ||
687 | } | ||
688 | GNUNET_TESTING_peer_destroy (p->peer); | ||
689 | p->peer = NULL; | ||
690 | } | ||
691 | if (NULL != p->ats) | 682 | if (NULL != p->ats) |
692 | { | 683 | { |
693 | GNUNET_ATS_connectivity_done (p->ats); | 684 | GNUNET_ATS_connectivity_done (p->ats); |
@@ -700,9 +691,25 @@ GNUNET_TRANSPORT_TESTING_stop_peer (struct | |||
700 | } | 691 | } |
701 | if (NULL != p->ph) | 692 | if (NULL != p->ph) |
702 | { | 693 | { |
694 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
695 | "Disconnecting from PEERSTORE service\n"); | ||
703 | GNUNET_PEERSTORE_disconnect (p->ph, GNUNET_NO); | 696 | GNUNET_PEERSTORE_disconnect (p->ph, GNUNET_NO); |
704 | p->ph = NULL; | 697 | p->ph = NULL; |
705 | } | 698 | } |
699 | |||
700 | if (NULL != p->peer) | ||
701 | { | ||
702 | if (GNUNET_OK != | ||
703 | GNUNET_TESTING_peer_stop (p->peer)) | ||
704 | { | ||
705 | LOG (GNUNET_ERROR_TYPE_DEBUG, | ||
706 | "Testing lib failed to stop peer %u (`%s')\n", | ||
707 | p->no, | ||
708 | GNUNET_i2s (&p->id)); | ||
709 | } | ||
710 | GNUNET_TESTING_peer_destroy (p->peer); | ||
711 | p->peer = NULL; | ||
712 | } | ||
706 | if (NULL != p->hello) | 713 | if (NULL != p->hello) |
707 | { | 714 | { |
708 | GNUNET_free (p->hello); | 715 | GNUNET_free (p->hello); |
@@ -738,16 +745,16 @@ GNUNET_TRANSPORT_TESTING_stop_peer (struct | |||
738 | * FIXME maybe schedule the application_validate somehow | 745 | * FIXME maybe schedule the application_validate somehow |
739 | */ | 746 | */ |
740 | /* | 747 | /* |
741 | static void | 748 | static void |
742 | hello_offered (void *cls) | 749 | hello_offered (void *cls) |
743 | { | 750 | { |
744 | struct GNUNET_TRANSPORT_TESTING_ConnectRequest *cc = cls; | 751 | struct GNUNET_TRANSPORT_TESTING_ConnectRequest *cc = cls; |
745 | 752 | ||
746 | cc->oh = NULL; | 753 | cc->oh = NULL; |
747 | cc->tct = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, | 754 | cc->tct = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, |
748 | &offer_hello, | 755 | &offer_hello, |
749 | cc); | 756 | cc); |
750 | }*/ | 757 | }*/ |
751 | 758 | ||
752 | 759 | ||
753 | /** | 760 | /** |