diff options
author | xrs <xrs@mail36.net> | 2017-03-13 20:35:18 +0100 |
---|---|---|
committer | xrs <xrs@mail36.net> | 2017-03-13 20:35:18 +0100 |
commit | 9f68c9e7d383061abbc81d1590abf25cde2305fe (patch) | |
tree | 971a0188e84878f43c2074def4ac3531c73acba6 /src/multicast | |
parent | 501c1f7794be6e8a2ea15200dbdadd4c066edb89 (diff) | |
parent | 8691934f57063bfa5032f4e34836ecbcb3d761e9 (diff) | |
download | gnunet-9f68c9e7d383061abbc81d1590abf25cde2305fe.tar.gz gnunet-9f68c9e7d383061abbc81d1590abf25cde2305fe.zip |
Merge branch 'master' of ssh://gnunet.org/gnunet
Conflicts:
src/multicast/test_multicast_2peers.c
Diffstat (limited to 'src/multicast')
-rw-r--r-- | src/multicast/Makefile.am | 6 | ||||
-rw-r--r-- | src/multicast/test_multicast_2peers.c | 66 | ||||
-rw-r--r-- | src/multicast/test_multicast_multipeer.c | 56 |
3 files changed, 86 insertions, 42 deletions
diff --git a/src/multicast/Makefile.am b/src/multicast/Makefile.am index 2a00a7a02..8a754d3db 100644 --- a/src/multicast/Makefile.am +++ b/src/multicast/Makefile.am | |||
@@ -51,9 +51,9 @@ gnunet_service_multicast_LDADD = \ | |||
51 | $(GN_LIBINTL) | 51 | $(GN_LIBINTL) |
52 | 52 | ||
53 | check_PROGRAMS = \ | 53 | check_PROGRAMS = \ |
54 | test_multicast \ | 54 | test_multicast_multipeer |
55 | test_multicast_2peers | 55 | # test_multicast |
56 | # test_multicast_multipeer | 56 | # test_multicast_2peers |
57 | 57 | ||
58 | if ENABLE_TEST_RUN | 58 | if ENABLE_TEST_RUN |
59 | AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@}; export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH; unset XDG_DATA_HOME; unset XDG_CONFIG_HOME; | 59 | AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@}; export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH; unset XDG_DATA_HOME; unset XDG_CONFIG_HOME; |
diff --git a/src/multicast/test_multicast_2peers.c b/src/multicast/test_multicast_2peers.c index 9d1f42063..8ce4d585f 100644 --- a/src/multicast/test_multicast_2peers.c +++ b/src/multicast/test_multicast_2peers.c | |||
@@ -20,7 +20,7 @@ | |||
20 | 20 | ||
21 | /** | 21 | /** |
22 | * @file multicast/test_multicast_2peers.c | 22 | * @file multicast/test_multicast_2peers.c |
23 | * @brief Tests for the Multicast API with two peers doing the ping | 23 | * @brief Tests for the Multicast API with two peers doing the ping |
24 | * pong test. | 24 | * pong test. |
25 | * @author xrs | 25 | * @author xrs |
26 | */ | 26 | */ |
@@ -118,16 +118,17 @@ member_join_request (void *cls, | |||
118 | } | 118 | } |
119 | 119 | ||
120 | 120 | ||
121 | int notify (void *cls, | 121 | static int |
122 | size_t *data_size, | 122 | notify (void *cls, |
123 | void *data) | 123 | size_t *data_size, |
124 | void *data) | ||
124 | { | 125 | { |
125 | 126 | ||
126 | char text[] = "ping"; | 127 | char text[] = "ping"; |
127 | *data_size = strlen(text)+1; | 128 | *data_size = strlen(text)+1; |
128 | GNUNET_memcpy(data, text, *data_size); | 129 | GNUNET_memcpy(data, text, *data_size); |
129 | 130 | ||
130 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 131 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
131 | "Member sents message to origin: %s\n", text); | 132 | "Member sents message to origin: %s\n", text); |
132 | 133 | ||
133 | return GNUNET_YES; | 134 | return GNUNET_YES; |
@@ -142,26 +143,30 @@ member_join_decision (void *cls, | |||
142 | const struct GNUNET_PeerIdentity *relays, | 143 | const struct GNUNET_PeerIdentity *relays, |
143 | const struct GNUNET_MessageHeader *join_msg) | 144 | const struct GNUNET_MessageHeader *join_msg) |
144 | { | 145 | { |
145 | struct GNUNET_MULTICAST_MemberTransmitHandle *req; | 146 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
146 | 147 | "Member received a decision from origin: %s\n", | |
147 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 148 | (GNUNET_YES == is_admitted) |
148 | "Member received a decision from origin: %s\n", (GNUNET_YES == is_admitted)?"accepted":"rejected"); | 149 | ? "accepted" |
149 | 150 | : "rejected"); | |
151 | |||
150 | if (GNUNET_YES == is_admitted) | 152 | if (GNUNET_YES == is_admitted) |
151 | { | 153 | { |
154 | struct GNUNET_MULTICAST_MemberTransmitHandle *req; | ||
155 | |||
156 | // FIXME: move to MQ-style API! | ||
152 | req = GNUNET_MULTICAST_member_to_origin (member, | 157 | req = GNUNET_MULTICAST_member_to_origin (member, |
153 | 0, | 158 | 0, |
154 | notify, | 159 | ¬ify, |
155 | NULL); | 160 | NULL); |
156 | } | 161 | } |
157 | } | 162 | } |
158 | 163 | ||
159 | 164 | ||
160 | static void | 165 | static void |
161 | member_message (void *cls, | 166 | member_message (void *cls, |
162 | const struct GNUNET_MULTICAST_MessageHeader *msg) | 167 | const struct GNUNET_MULTICAST_MessageHeader *msg) |
163 | { | 168 | { |
164 | if (0 != strncmp ("pong", (char *)&msg[1], 4)) | 169 | if (0 != strncmp ("pong", (char *)&msg[1], 4)) |
165 | { | 170 | { |
166 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "member did not receive pong\n"); | 171 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "member did not receive pong\n"); |
167 | result = GNUNET_SYSERR; | 172 | result = GNUNET_SYSERR; |
@@ -187,19 +192,19 @@ origin_join_request (void *cls, | |||
187 | 192 | ||
188 | uint8_t data_size = ntohs (join_msg->size); | 193 | uint8_t data_size = ntohs (join_msg->size); |
189 | 194 | ||
190 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 195 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
191 | "origin got a join request...\n"); | 196 | "origin got a join request...\n"); |
192 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 197 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
193 | "origin receives: '%s'\n", (char *)&join_msg[1]); | 198 | "origin receives: '%s'\n", (char *)&join_msg[1]); |
194 | 199 | ||
195 | char data[] = "Come in!"; | 200 | const char data[] = "Come in!"; |
196 | data_size = strlen (data) + 1; | 201 | data_size = strlen (data) + 1; |
197 | join_resp = GNUNET_malloc (sizeof (join_resp) + data_size); | 202 | join_resp = GNUNET_malloc (sizeof (join_resp) + data_size); |
198 | join_resp->size = htons (sizeof (join_resp) + data_size); | 203 | join_resp->size = htons (sizeof (join_resp) + data_size); |
199 | join_resp->type = htons (123); | 204 | join_resp->type = htons (123); |
200 | GNUNET_memcpy (&join_resp[1], data, data_size); | 205 | GNUNET_memcpy (&join_resp[1], data, data_size); |
201 | 206 | ||
202 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 207 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
203 | "origin sends: '%s'\n", data); | 208 | "origin sends: '%s'\n", data); |
204 | 209 | ||
205 | GNUNET_MULTICAST_join_decision (jh, | 210 | GNUNET_MULTICAST_join_decision (jh, |
@@ -207,23 +212,23 @@ origin_join_request (void *cls, | |||
207 | 0, | 212 | 0, |
208 | NULL, | 213 | NULL, |
209 | join_resp); | 214 | join_resp); |
210 | 215 | GNUNET_free (join_resp); | |
211 | result = GNUNET_OK; | 216 | result = GNUNET_OK; |
212 | } | 217 | } |
213 | 218 | ||
214 | 219 | ||
215 | int | 220 | int |
216 | origin_notify (void *cls, | 221 | origin_notify (void *cls, |
217 | size_t *data_size, | 222 | size_t *data_size, |
218 | void *data) | 223 | void *data) |
219 | { | 224 | { |
220 | char text[] = "pong"; | 225 | char text[] = "pong"; |
221 | *data_size = strlen(text)+1; | 226 | *data_size = strlen(text)+1; |
222 | memcpy(data, text, *data_size); | 227 | memcpy(data, text, *data_size); |
223 | 228 | ||
224 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin sends (to all): %s\n", text); | 229 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin sends (to all): %s\n", text); |
225 | 230 | ||
226 | return GNUNET_YES; | 231 | return GNUNET_YES; |
227 | } | 232 | } |
228 | 233 | ||
229 | 234 | ||
@@ -232,8 +237,8 @@ origin_request (void *cls, | |||
232 | const struct GNUNET_MULTICAST_RequestHeader *req) | 237 | const struct GNUNET_MULTICAST_RequestHeader *req) |
233 | { | 238 | { |
234 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin receives: %s\n", (char *)&req[1]); | 239 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin receives: %s\n", (char *)&req[1]); |
235 | 240 | ||
236 | if (0 != strncmp ("ping", (char *)&req[1], 4)) | 241 | if (0 != strncmp ("ping", (char *)&req[1], 4)) |
237 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "origin didn't reveice a correct request"); | 242 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "origin didn't reveice a correct request"); |
238 | 243 | ||
239 | GNUNET_MULTICAST_origin_to_all (origin, | 244 | GNUNET_MULTICAST_origin_to_all (origin, |
@@ -246,7 +251,7 @@ origin_request (void *cls, | |||
246 | 251 | ||
247 | static void | 252 | static void |
248 | origin_message (void *cls, | 253 | origin_message (void *cls, |
249 | const struct GNUNET_MULTICAST_MessageHeader *msg) | 254 | const struct GNUNET_MULTICAST_MessageHeader *msg) |
250 | { | 255 | { |
251 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin message msg\n"); | 256 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin message msg\n"); |
252 | } | 257 | } |
@@ -288,11 +293,12 @@ multicast_ca1 (void *cls, | |||
288 | const struct GNUNET_CONFIGURATION_Handle *cfg) | 293 | const struct GNUNET_CONFIGURATION_Handle *cfg) |
289 | { | 294 | { |
290 | struct GNUNET_MessageHeader *join_msg; | 295 | struct GNUNET_MessageHeader *join_msg; |
296 | void *ret; | ||
291 | 297 | ||
292 | // Get members keys | 298 | // Get members keys |
293 | member_key = GNUNET_CRYPTO_ecdsa_key_create (); | 299 | member_key = GNUNET_CRYPTO_ecdsa_key_create (); |
294 | GNUNET_CRYPTO_ecdsa_key_get_public (member_key, &member_pub_key); | 300 | GNUNET_CRYPTO_ecdsa_key_get_public (member_key, &member_pub_key); |
295 | 301 | ||
296 | char data[] = "Hi, can I enter?"; | 302 | char data[] = "Hi, can I enter?"; |
297 | uint8_t data_size = strlen (data) + 1; | 303 | uint8_t data_size = strlen (data) + 1; |
298 | join_msg = GNUNET_malloc (sizeof (join_msg) + data_size); | 304 | join_msg = GNUNET_malloc (sizeof (join_msg) + data_size); |
@@ -303,7 +309,7 @@ multicast_ca1 (void *cls, | |||
303 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 309 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
304 | "Members tries to join multicast group\n"); | 310 | "Members tries to join multicast group\n"); |
305 | 311 | ||
306 | return GNUNET_MULTICAST_member_join (cfg, | 312 | ret = GNUNET_MULTICAST_member_join (cfg, |
307 | &group_pub_key, | 313 | &group_pub_key, |
308 | member_key, | 314 | member_key, |
309 | peer_id[0], | 315 | peer_id[0], |
@@ -316,6 +322,8 @@ multicast_ca1 (void *cls, | |||
316 | NULL, /* no test for member_replay_msg */ | 322 | NULL, /* no test for member_replay_msg */ |
317 | member_message, | 323 | member_message, |
318 | NULL); | 324 | NULL); |
325 | GNUNET_free (join_msg); | ||
326 | return ret; | ||
319 | } | 327 | } |
320 | 328 | ||
321 | 329 | ||
@@ -327,7 +335,7 @@ peer_information_cb (void *cls, | |||
327 | { | 335 | { |
328 | int i = (int) (long) cls; | 336 | int i = (int) (long) cls; |
329 | 337 | ||
330 | if (NULL == pinfo) | 338 | if (NULL == pinfo) |
331 | { | 339 | { |
332 | result = GNUNET_SYSERR; | 340 | result = GNUNET_SYSERR; |
333 | GNUNET_SCHEDULER_shutdown (); | 341 | GNUNET_SCHEDULER_shutdown (); |
@@ -341,7 +349,7 @@ peer_information_cb (void *cls, | |||
341 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 349 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
342 | "Create member peer\n"); | 350 | "Create member peer\n"); |
343 | 351 | ||
344 | if (0 == i) | 352 | if (0 == i) |
345 | { | 353 | { |
346 | /* connect to multicast service of member */ | 354 | /* connect to multicast service of member */ |
347 | op1 = GNUNET_TESTBED_service_connect (NULL, /* Closure for operation */ | 355 | op1 = GNUNET_TESTBED_service_connect (NULL, /* Closure for operation */ |
diff --git a/src/multicast/test_multicast_multipeer.c b/src/multicast/test_multicast_multipeer.c index 266c87a16..c2078abf9 100644 --- a/src/multicast/test_multicast_multipeer.c +++ b/src/multicast/test_multicast_multipeer.c | |||
@@ -38,8 +38,9 @@ | |||
38 | struct multicast_peer | 38 | struct multicast_peer |
39 | { | 39 | { |
40 | int peer; /* peer number */ | 40 | int peer; /* peer number */ |
41 | struct GNUNET_TESTBED_Operation *op; | 41 | struct GNUNET_TESTBED_Operation *op; /* not yet in use */ |
42 | struct GNUNET_TESTBED_Operation *pi_op; | 42 | struct GNUNET_TESTBED_Operation *pi_op; /* not yet in use */ |
43 | uint8_t test_ok; | ||
43 | }; | 44 | }; |
44 | 45 | ||
45 | static void service_connect (void *cls, | 46 | static void service_connect (void *cls, |
@@ -49,12 +50,14 @@ static void service_connect (void *cls, | |||
49 | 50 | ||
50 | static struct multicast_peer **mc_peers; | 51 | static struct multicast_peer **mc_peers; |
51 | static struct GNUNET_TESTBED_Peer **peers; | 52 | static struct GNUNET_TESTBED_Peer **peers; |
53 | |||
54 | // FIXME: refactor | ||
52 | static struct GNUNET_TESTBED_Operation *op[NUM_PEERS]; | 55 | static struct GNUNET_TESTBED_Operation *op[NUM_PEERS]; |
53 | static struct GNUNET_TESTBED_Operation *pi_op[NUM_PEERS]; | 56 | static struct GNUNET_TESTBED_Operation *pi_op[NUM_PEERS]; |
54 | static const struct GNUNET_PeerIdentity *peer_id[NUM_PEERS]; | 57 | static const struct GNUNET_PeerIdentity *peer_id[NUM_PEERS]; |
55 | 58 | ||
56 | static struct GNUNET_MULTICAST_Origin *origin; | 59 | static struct GNUNET_MULTICAST_Origin *origin; |
57 | static struct GNUNET_MULTICAST_Member *member[NUM_PEERS]; | 60 | static struct GNUNET_MULTICAST_Member *member[NUM_PEERS]; /* first element always empty */ |
58 | 61 | ||
59 | static struct GNUNET_SCHEDULER_Task *timeout_tid; | 62 | static struct GNUNET_SCHEDULER_Task *timeout_tid; |
60 | 63 | ||
@@ -70,7 +73,6 @@ static struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key[NUM_PEERS]; | |||
70 | */ | 73 | */ |
71 | static int result; | 74 | static int result; |
72 | 75 | ||
73 | |||
74 | /** | 76 | /** |
75 | * Function run on CTRL-C or shutdown (i.e. success/timeout/etc.). | 77 | * Function run on CTRL-C or shutdown (i.e. success/timeout/etc.). |
76 | * Cleans up. | 78 | * Cleans up. |
@@ -132,6 +134,7 @@ member_join_request (void *cls, | |||
132 | 134 | ||
133 | } | 135 | } |
134 | 136 | ||
137 | |||
135 | static int | 138 | static int |
136 | notify (void *cls, | 139 | notify (void *cls, |
137 | size_t *data_size, | 140 | size_t *data_size, |
@@ -174,6 +177,7 @@ member_join_decision (void *cls, | |||
174 | } | 177 | } |
175 | } | 178 | } |
176 | 179 | ||
180 | |||
177 | static void | 181 | static void |
178 | member_replay_frag () | 182 | member_replay_frag () |
179 | { | 183 | { |
@@ -181,6 +185,7 @@ member_replay_frag () | |||
181 | "member replay frag...\n"); | 185 | "member replay frag...\n"); |
182 | } | 186 | } |
183 | 187 | ||
188 | |||
184 | static void | 189 | static void |
185 | member_replay_msg () | 190 | member_replay_msg () |
186 | { | 191 | { |
@@ -188,17 +193,42 @@ member_replay_msg () | |||
188 | "member replay msg...\n"); | 193 | "member replay msg...\n"); |
189 | } | 194 | } |
190 | 195 | ||
196 | |||
191 | static void | 197 | static void |
192 | member_message () | 198 | member_message (void *cls, |
199 | const struct GNUNET_MULTICAST_MessageHeader *msg) | ||
193 | { | 200 | { |
201 | struct multicast_peer *mc_peer = (struct multicast_peer*)cls; | ||
202 | |||
203 | if (0 != strncmp ("pong", (char *)&msg[1], 4)) | ||
204 | { | ||
205 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
206 | "peer #%i did not receive pong\n", | ||
207 | mc_peer->peer); | ||
208 | |||
209 | result = GNUNET_SYSERR; | ||
210 | GNUNET_SCHEDULER_shutdown (); | ||
211 | } | ||
212 | |||
194 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 213 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
195 | "member message...\n"); | 214 | "peer #%i receives: %s\n", |
215 | mc_peer->peer, | ||
216 | (char *)&msg[1]); | ||
217 | |||
218 | mc_peer->test_ok = GNUNET_OK; | ||
219 | |||
220 | // FIXME: ugly test function | ||
221 | /* | ||
222 | for (int i=1; i<NUM_PEERS; i++) | ||
223 | if (!mc_peers[i]->test_ok) | ||
224 | return; | ||
196 | 225 | ||
197 | // FIXME: not finished here | ||
198 | result = GNUNET_YES; | 226 | result = GNUNET_YES; |
199 | GNUNET_SCHEDULER_shutdown (); | 227 | GNUNET_SCHEDULER_shutdown(); |
228 | */ | ||
200 | } | 229 | } |
201 | 230 | ||
231 | |||
202 | static void | 232 | static void |
203 | origin_join_request (void *cls, | 233 | origin_join_request (void *cls, |
204 | const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, | 234 | const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, |
@@ -233,6 +263,7 @@ origin_join_request (void *cls, | |||
233 | result = GNUNET_OK; | 263 | result = GNUNET_OK; |
234 | } | 264 | } |
235 | 265 | ||
266 | |||
236 | static void | 267 | static void |
237 | origin_replay_frag (void *cls, | 268 | origin_replay_frag (void *cls, |
238 | const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, | 269 | const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, |
@@ -243,6 +274,7 @@ origin_replay_frag (void *cls, | |||
243 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin replay fraq msg\n"); | 274 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin replay fraq msg\n"); |
244 | } | 275 | } |
245 | 276 | ||
277 | |||
246 | static void | 278 | static void |
247 | origin_replay_msg (void *cls, | 279 | origin_replay_msg (void *cls, |
248 | const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, | 280 | const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, |
@@ -288,6 +320,7 @@ origin_request (void *cls, | |||
288 | cls); | 320 | cls); |
289 | } | 321 | } |
290 | 322 | ||
323 | |||
291 | static void | 324 | static void |
292 | origin_message (void *cls, | 325 | origin_message (void *cls, |
293 | const struct GNUNET_MULTICAST_MessageHeader *msg) | 326 | const struct GNUNET_MULTICAST_MessageHeader *msg) |
@@ -295,6 +328,7 @@ origin_message (void *cls, | |||
295 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin message msg\n"); | 328 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin message msg\n"); |
296 | } | 329 | } |
297 | 330 | ||
331 | |||
298 | static void | 332 | static void |
299 | multicast_da (void *cls, | 333 | multicast_da (void *cls, |
300 | void *op_result) | 334 | void *op_result) |
@@ -375,6 +409,7 @@ multicast_ca (void *cls, | |||
375 | } | 409 | } |
376 | } | 410 | } |
377 | 411 | ||
412 | |||
378 | static void | 413 | static void |
379 | peer_information_cb (void *cls, | 414 | peer_information_cb (void *cls, |
380 | struct GNUNET_TESTBED_Operation *operation, | 415 | struct GNUNET_TESTBED_Operation *operation, |
@@ -452,7 +487,7 @@ service_connect (void *cls, | |||
452 | } | 487 | } |
453 | else | 488 | else |
454 | { | 489 | { |
455 | member[mc_peer->peer-1] = ca_result; | 490 | member[mc_peer->peer] = ca_result; |
456 | } | 491 | } |
457 | } | 492 | } |
458 | 493 | ||
@@ -500,6 +535,7 @@ testbed_master (void *cls, | |||
500 | { | 535 | { |
501 | mc_peers[i] = GNUNET_new (struct multicast_peer); | 536 | mc_peers[i] = GNUNET_new (struct multicast_peer); |
502 | mc_peers[i]->peer = i; | 537 | mc_peers[i]->peer = i; |
538 | mc_peers[i]->test_ok = GNUNET_NO; | ||
503 | } | 539 | } |
504 | 540 | ||
505 | op[0] = GNUNET_TESTBED_service_connect (NULL, /* Closure for operation */ | 541 | op[0] = GNUNET_TESTBED_service_connect (NULL, /* Closure for operation */ |
@@ -517,7 +553,7 @@ testbed_master (void *cls, | |||
517 | GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); /* Schedule a new task on shutdown */ | 553 | GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); /* Schedule a new task on shutdown */ |
518 | 554 | ||
519 | /* Schedule the shutdown task with a delay of a few Seconds */ | 555 | /* Schedule the shutdown task with a delay of a few Seconds */ |
520 | timeout_tid = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 60), | 556 | timeout_tid = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 80), |
521 | &timeout_task, NULL); | 557 | &timeout_task, NULL); |
522 | } | 558 | } |
523 | 559 | ||