diff options
author | Christian Grothoff <christian@grothoff.org> | 2015-11-06 23:28:30 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2015-11-06 23:28:30 +0000 |
commit | 17bca33cca3c06668aa07c2750000a40a229c4a3 (patch) | |
tree | 70a1ad9c2506b4ca50b19fa0b387b46ab0b9b2e5 /src/transport/test_transport_api_restart_1peer.c | |
parent | bfe1f56580a066da971887c9beea44c890d26dd6 (diff) | |
download | gnunet-17bca33cca3c06668aa07c2750000a40a229c4a3.tar.gz gnunet-17bca33cca3c06668aa07c2750000a40a229c4a3.zip |
-removing last uses of TRANSPORT_try_connect API
Diffstat (limited to 'src/transport/test_transport_api_restart_1peer.c')
-rw-r--r-- | src/transport/test_transport_api_restart_1peer.c | 134 |
1 files changed, 65 insertions, 69 deletions
diff --git a/src/transport/test_transport_api_restart_1peer.c b/src/transport/test_transport_api_restart_1peer.c index 0e91fa68f..2c4382e9c 100644 --- a/src/transport/test_transport_api_restart_1peer.c +++ b/src/transport/test_transport_api_restart_1peer.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of GNUnet. | 2 | This file is part of GNUnet. |
3 | Copyright (C) 2009, 2010 Christian Grothoff (and other contributing authors) | 3 | Copyright (C) 2009, 2010, 2015 Christian Grothoff (and other contributing authors) |
4 | 4 | ||
5 | GNUnet is free software; you can redistribute it and/or modify | 5 | GNUnet is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published | 6 | it under the terms of the GNU General Public License as published |
@@ -45,11 +45,11 @@ static char *test_name; | |||
45 | 45 | ||
46 | static int ok; | 46 | static int ok; |
47 | 47 | ||
48 | static struct GNUNET_SCHEDULER_Task * die_task; | 48 | static struct GNUNET_SCHEDULER_Task *die_task; |
49 | 49 | ||
50 | static struct GNUNET_SCHEDULER_Task * send_task; | 50 | static struct GNUNET_SCHEDULER_Task *send_task; |
51 | 51 | ||
52 | static struct GNUNET_SCHEDULER_Task * reconnect_task; | 52 | static struct GNUNET_ATS_ConnectivitySuggestHandle *ats_sh; |
53 | 53 | ||
54 | static struct PeerContext *p1; | 54 | static struct PeerContext *p1; |
55 | 55 | ||
@@ -59,7 +59,7 @@ static struct PeerContext *p2; | |||
59 | 59 | ||
60 | static int p2_connected; | 60 | static int p2_connected; |
61 | 61 | ||
62 | static struct GNUNET_TRANSPORT_TESTING_ConnectRequest * cc; | 62 | static struct GNUNET_TRANSPORT_TESTING_ConnectRequest *cc; |
63 | 63 | ||
64 | static struct GNUNET_TRANSPORT_TransmitHandle *th; | 64 | static struct GNUNET_TRANSPORT_TransmitHandle *th; |
65 | 65 | ||
@@ -75,105 +75,101 @@ static int restarted; | |||
75 | static void | 75 | static void |
76 | end () | 76 | end () |
77 | { | 77 | { |
78 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers\n"); | 78 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
79 | "Stopping peers\n"); | ||
79 | 80 | ||
80 | if (send_task != NULL) | 81 | if (NULL != send_task) |
82 | { | ||
81 | GNUNET_SCHEDULER_cancel (send_task); | 83 | GNUNET_SCHEDULER_cancel (send_task); |
82 | send_task = NULL; | 84 | send_task = NULL; |
83 | 85 | } | |
84 | if (reconnect_task != NULL) | 86 | if (NULL != ats_sh) |
85 | GNUNET_SCHEDULER_cancel (reconnect_task); | 87 | { |
86 | reconnect_task = NULL; | 88 | GNUNET_ATS_connectivity_suggest_cancel (ats_sh); |
87 | 89 | ats_sh = NULL; | |
88 | if (die_task != NULL) | 90 | } |
91 | if (NULL != die_task) | ||
92 | { | ||
89 | GNUNET_SCHEDULER_cancel (die_task); | 93 | GNUNET_SCHEDULER_cancel (die_task); |
90 | die_task = NULL; | 94 | die_task = NULL; |
91 | 95 | } | |
92 | if (th != NULL) | 96 | if (NULL != th) |
97 | { | ||
93 | GNUNET_TRANSPORT_notify_transmit_ready_cancel (th); | 98 | GNUNET_TRANSPORT_notify_transmit_ready_cancel (th); |
94 | th = NULL; | 99 | th = NULL; |
95 | 100 | } | |
96 | GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1); | 101 | if (NULL != p1) |
97 | p1 = NULL; | 102 | { |
98 | GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2); | 103 | GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1); |
99 | p2 = NULL; | 104 | p1 = NULL; |
105 | } | ||
106 | if (NULL != p2) | ||
107 | { | ||
108 | GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2); | ||
109 | p2 = NULL; | ||
110 | } | ||
100 | } | 111 | } |
101 | 112 | ||
113 | |||
102 | static void | 114 | static void |
103 | end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 115 | end_badly (void *cls, |
116 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
104 | { | 117 | { |
105 | die_task = NULL; | 118 | die_task = NULL; |
106 | 119 | ||
107 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers\n"); | 120 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
121 | "Fail! Stopping peers\n"); | ||
108 | 122 | ||
109 | if (restarted == GNUNET_YES) | 123 | if (restarted == GNUNET_YES) |
110 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Peer was restarted\n"); | 124 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
125 | "Peer was restarted\n"); | ||
111 | 126 | ||
112 | if (restarted == GNUNET_NO) | 127 | if (restarted == GNUNET_NO) |
113 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Peer was NOT restarted\n"); | 128 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
114 | 129 | "Peer was NOT restarted\n"); | |
115 | if (reconnect_task != NULL) | 130 | if (NULL != cc) |
116 | GNUNET_SCHEDULER_cancel (reconnect_task); | ||
117 | reconnect_task = NULL; | ||
118 | |||
119 | if (send_task != NULL) | ||
120 | GNUNET_SCHEDULER_cancel (send_task); | ||
121 | send_task = NULL; | ||
122 | |||
123 | if (cc != NULL) | ||
124 | { | 131 | { |
125 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Fail! Could not connect peers\n")); | 132 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
133 | _("Fail! Could not connect peers\n")); | ||
126 | GNUNET_TRANSPORT_TESTING_connect_peers_cancel (tth, cc); | 134 | GNUNET_TRANSPORT_TESTING_connect_peers_cancel (tth, cc); |
127 | cc = NULL; | 135 | cc = NULL; |
128 | } | 136 | } |
129 | 137 | end (); | |
130 | if (th != NULL) | ||
131 | GNUNET_TRANSPORT_notify_transmit_ready_cancel (th); | ||
132 | th = NULL; | ||
133 | |||
134 | if (p1 != NULL) | ||
135 | GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1); | ||
136 | if (p2 != NULL) | ||
137 | GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2); | ||
138 | |||
139 | ok = GNUNET_SYSERR; | 138 | ok = GNUNET_SYSERR; |
140 | } | 139 | } |
141 | 140 | ||
142 | static void | ||
143 | reconnect (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
144 | { | ||
145 | struct PeerContext *p = cls; | ||
146 | |||
147 | reconnect_task = NULL; | ||
148 | |||
149 | GNUNET_TRANSPORT_try_connect (p->th, &p2->id, NULL, NULL); /*FIXME TRY_CONNECT change */ | ||
150 | reconnect_task = | ||
151 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &reconnect, p); | ||
152 | } | ||
153 | 141 | ||
154 | static void | 142 | static void |
155 | restart_cb (struct PeerContext *p, void *cls) | 143 | restart_cb (struct PeerContext *p, void *cls) |
156 | { | 144 | { |
157 | |||
158 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 145 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
159 | "Restarted peer %u (`%4s'), issuing reconnect\n", p->no, | 146 | "Restarted peer %u (`%4s'), issuing reconnect\n", |
147 | p->no, | ||
160 | GNUNET_i2s (&p->id)); | 148 | GNUNET_i2s (&p->id)); |
161 | 149 | ats_sh = GNUNET_ATS_connectivity_suggest (p->ats, | |
162 | reconnect_task = GNUNET_SCHEDULER_add_now (&reconnect, p); | 150 | &p2->id, |
151 | 1); | ||
163 | } | 152 | } |
164 | 153 | ||
154 | |||
165 | static void | 155 | static void |
166 | restart (struct PeerContext *p, char *cfg_file) | 156 | restart (struct PeerContext *p, |
157 | const char *cfg_file) | ||
167 | { | 158 | { |
168 | GNUNET_assert (p != NULL); | 159 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
169 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Restarting peer %u (`%4s')\n", p->no, | 160 | "Restarting peer %u (`%4s')\n", |
161 | p->no, | ||
170 | GNUNET_i2s (&p->id)); | 162 | GNUNET_i2s (&p->id)); |
171 | GNUNET_TRANSPORT_TESTING_restart_peer (tth, p, cfg_file, &restart_cb, p); | 163 | GNUNET_TRANSPORT_TESTING_restart_peer (p, |
172 | return; | 164 | cfg_file, |
165 | &restart_cb, | ||
166 | p); | ||
173 | } | 167 | } |
174 | 168 | ||
169 | |||
175 | static void | 170 | static void |
176 | notify_receive (void *cls, const struct GNUNET_PeerIdentity *peer, | 171 | notify_receive (void *cls, |
172 | const struct GNUNET_PeerIdentity *peer, | ||
177 | const struct GNUNET_MessageHeader *message) | 173 | const struct GNUNET_MessageHeader *message) |
178 | { | 174 | { |
179 | struct PeerContext *p = cls; | 175 | struct PeerContext *p = cls; |