diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-10-09 09:53:07 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-10-09 09:53:07 +0000 |
commit | d1bd35b2c7b4bbac2fd1c253fce14404bb3a6329 (patch) | |
tree | 2f52f3fe764a31306564776f4413d1c101b82b0c /src/transport | |
parent | 0de4e0f5c9a065a5266e34013074258675cca470 (diff) | |
download | gnunet-d1bd35b2c7b4bbac2fd1c253fce14404bb3a6329.tar.gz gnunet-d1bd35b2c7b4bbac2fd1c253fce14404bb3a6329.zip |
assertions
Diffstat (limited to 'src/transport')
-rw-r--r-- | src/transport/transport-testing.c | 50 | ||||
-rw-r--r-- | src/transport/transport-testing.h | 11 |
2 files changed, 47 insertions, 14 deletions
diff --git a/src/transport/transport-testing.c b/src/transport/transport-testing.c index 036fff9e4..45ce444f1 100644 --- a/src/transport/transport-testing.c +++ b/src/transport/transport-testing.c | |||
@@ -33,6 +33,7 @@ struct PeerContext * | |||
33 | find_peer_context_by_pc ( struct TransportTestingHandle *tth, | 33 | find_peer_context_by_pc ( struct TransportTestingHandle *tth, |
34 | struct PeerContext *p) | 34 | struct PeerContext *p) |
35 | { | 35 | { |
36 | GNUNET_assert (tth != NULL); | ||
36 | struct PeerContext * t = tth->p_head; | 37 | struct PeerContext * t = tth->p_head; |
37 | 38 | ||
38 | while (t != NULL) | 39 | while (t != NULL) |
@@ -50,6 +51,7 @@ struct PeerContext * | |||
50 | find_peer_context ( struct TransportTestingHandle *tth, | 51 | find_peer_context ( struct TransportTestingHandle *tth, |
51 | const struct GNUNET_PeerIdentity *peer) | 52 | const struct GNUNET_PeerIdentity *peer) |
52 | { | 53 | { |
54 | GNUNET_assert (tth != NULL); | ||
53 | struct PeerContext * t = tth->p_head; | 55 | struct PeerContext * t = tth->p_head; |
54 | 56 | ||
55 | while (t != NULL) | 57 | while (t != NULL) |
@@ -67,6 +69,7 @@ find_connecting_context ( struct TransportTestingHandle *tth, | |||
67 | struct PeerContext *p1, | 69 | struct PeerContext *p1, |
68 | struct PeerContext * p2) | 70 | struct PeerContext * p2) |
69 | { | 71 | { |
72 | GNUNET_assert (tth != NULL); | ||
70 | struct ConnectingContext * cc = tth->cc_head; | 73 | struct ConnectingContext * cc = tth->cc_head; |
71 | 74 | ||
72 | while (cc != NULL) | 75 | while (cc != NULL) |
@@ -88,6 +91,7 @@ notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer, | |||
88 | { | 91 | { |
89 | struct PeerContext *p = cls; | 92 | struct PeerContext *p = cls; |
90 | /* Find PeerContext */ | 93 | /* Find PeerContext */ |
94 | GNUNET_assert (p->tth != NULL); | ||
91 | struct PeerContext * p2 = find_peer_context (p->tth, peer); | 95 | struct PeerContext * p2 = find_peer_context (p->tth, peer); |
92 | 96 | ||
93 | if (p == NULL) | 97 | if (p == NULL) |
@@ -132,6 +136,7 @@ notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer) | |||
132 | { | 136 | { |
133 | struct PeerContext *p = cls; | 137 | struct PeerContext *p = cls; |
134 | /* Find PeerContext */ | 138 | /* Find PeerContext */ |
139 | GNUNET_assert (p->tth != NULL); | ||
135 | struct PeerContext * p2 = find_peer_context (p->tth, peer); | 140 | struct PeerContext * p2 = find_peer_context (p->tth, peer); |
136 | 141 | ||
137 | char * p2_s; | 142 | char * p2_s; |
@@ -184,12 +189,18 @@ get_hello (void *cb_cls, const struct GNUNET_MessageHeader *message) | |||
184 | (const struct GNUNET_HELLO_Message *) message, | 189 | (const struct GNUNET_HELLO_Message *) message, |
185 | size); | 190 | size); |
186 | 191 | ||
192 | #if VERBOSE | ||
193 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing", | ||
194 | "New HELLO for peer %u (`%s') with size %u\n", | ||
195 | p->no, GNUNET_i2s (&p->id), size); | ||
196 | #endif | ||
197 | |||
187 | if (p->start_cb != NULL) | 198 | if (p->start_cb != NULL) |
188 | { | 199 | { |
189 | #if VERBOSE | 200 | #if VERBOSE |
190 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing", | 201 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing", |
191 | "Peer %u (`%s') successfully started\n", | 202 | "Peer %u (`%s') successfully started\n", |
192 | p->no, GNUNET_i2s (&p->id), size); | 203 | p->no, GNUNET_i2s (&p->id)); |
193 | #endif | 204 | #endif |
194 | p->start_cb(p, p->cb_cls); | 205 | p->start_cb(p, p->cb_cls); |
195 | p->start_cb = NULL; | 206 | p->start_cb = NULL; |
@@ -241,6 +252,7 @@ GNUNET_TRANSPORT_TESTING_start_peer (struct TransportTestingHandle * tth, | |||
241 | GNUNET_TRANSPORT_TESTING_start_cb start_cb, | 252 | GNUNET_TRANSPORT_TESTING_start_cb start_cb, |
242 | void *cb_cls) | 253 | void *cb_cls) |
243 | { | 254 | { |
255 | GNUNET_assert (tth != NULL); | ||
244 | if (GNUNET_DISK_file_test (cfgname) == GNUNET_NO) | 256 | if (GNUNET_DISK_file_test (cfgname) == GNUNET_NO) |
245 | { | 257 | { |
246 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "transport-testing", | 258 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "transport-testing", |
@@ -342,7 +354,7 @@ GNUNET_TRANSPORT_TESTING_stop_peer (struct TransportTestingHandle * tth, | |||
342 | * p1 then tries to connect to p2 | 354 | * p1 then tries to connect to p2 |
343 | * @param p1 peer 1 | 355 | * @param p1 peer 1 |
344 | * @param p2 peer 2 | 356 | * @param p2 peer 2 |
345 | * @param cb the callback to call | 357 | * @param cb the callback to call when both peers notified that they are connected |
346 | * @param cb_cls callback cls | 358 | * @param cb_cls callback cls |
347 | * @return connect context | 359 | * @return connect context |
348 | */ | 360 | */ |
@@ -354,6 +366,8 @@ GNUNET_TRANSPORT_TESTING_connect_peers (struct TransportTestingHandle * tth, | |||
354 | void *cb_cls) | 366 | void *cb_cls) |
355 | 367 | ||
356 | { | 368 | { |
369 | GNUNET_assert (tth != NULL); | ||
370 | |||
357 | struct ConnectingContext *cc = | 371 | struct ConnectingContext *cc = |
358 | GNUNET_malloc (sizeof (struct ConnectingContext)); | 372 | GNUNET_malloc (sizeof (struct ConnectingContext)); |
359 | 373 | ||
@@ -367,12 +381,7 @@ GNUNET_TRANSPORT_TESTING_connect_peers (struct TransportTestingHandle * tth, | |||
367 | cc->cb_cls = cb_cls; | 381 | cc->cb_cls = cb_cls; |
368 | 382 | ||
369 | cc->th_p1 = p1->th; | 383 | cc->th_p1 = p1->th; |
370 | /* GNUNET_TRANSPORT_connect (cc->p1->cfg, NULL, cc, NULL, | ||
371 | ¬ify_connect_internal, NULL);*/ | ||
372 | |||
373 | cc->th_p2 = p2->th; | 384 | cc->th_p2 = p2->th; |
374 | /* GNUNET_TRANSPORT_connect (cc->p2->cfg, NULL, cc, NULL, | ||
375 | ¬ify_connect_internal, NULL);*/ | ||
376 | 385 | ||
377 | GNUNET_assert (cc->th_p1 != NULL); | 386 | GNUNET_assert (cc->th_p1 != NULL); |
378 | GNUNET_assert (cc->th_p2 != NULL); | 387 | GNUNET_assert (cc->th_p2 != NULL); |
@@ -380,9 +389,10 @@ GNUNET_TRANSPORT_TESTING_connect_peers (struct TransportTestingHandle * tth, | |||
380 | GNUNET_CONTAINER_DLL_insert (tth->cc_head, tth->cc_tail, cc); | 389 | GNUNET_CONTAINER_DLL_insert (tth->cc_head, tth->cc_tail, cc); |
381 | 390 | ||
382 | cc->tct = GNUNET_SCHEDULER_add_now (&try_connect, cc); | 391 | cc->tct = GNUNET_SCHEDULER_add_now (&try_connect, cc); |
383 | return cc; | 392 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "transport-testing", |
384 | 393 | "connect request %X!\n", cc); | |
385 | 394 | ||
395 | return cc; | ||
386 | } | 396 | } |
387 | 397 | ||
388 | /** | 398 | /** |
@@ -396,16 +406,24 @@ void GNUNET_TRANSPORT_TESTING_connect_peers_cancel | |||
396 | { | 406 | { |
397 | struct ConnectingContext *cc = ccr; | 407 | struct ConnectingContext *cc = ccr; |
398 | 408 | ||
409 | GNUNET_assert (tth != NULL); | ||
410 | |||
411 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing", | ||
412 | "Canceling connect request %X!\n", cc); | ||
399 | if (cc->tct != GNUNET_SCHEDULER_NO_TASK) | 413 | if (cc->tct != GNUNET_SCHEDULER_NO_TASK) |
400 | GNUNET_SCHEDULER_cancel (cc->tct); | 414 | GNUNET_SCHEDULER_cancel (cc->tct); |
401 | 415 | ||
402 | cc->tct = GNUNET_SCHEDULER_NO_TASK; | 416 | cc->tct = GNUNET_SCHEDULER_NO_TASK; |
403 | 417 | ||
404 | GNUNET_CONTAINER_DLL_remove (tth->cc_head, tth->cc_tail, cc); | 418 | GNUNET_CONTAINER_DLL_remove (tth->cc_head, tth->cc_tail, cc); |
405 | |||
406 | GNUNET_free (cc); | 419 | GNUNET_free (cc); |
407 | } | 420 | } |
408 | 421 | ||
422 | |||
423 | /** | ||
424 | * Clean up the transport testing | ||
425 | * @param tth transport testing handle | ||
426 | */ | ||
409 | void | 427 | void |
410 | GNUNET_TRANSPORT_TESTING_done (struct TransportTestingHandle * tth) | 428 | GNUNET_TRANSPORT_TESTING_done (struct TransportTestingHandle * tth) |
411 | { | 429 | { |
@@ -413,11 +431,14 @@ GNUNET_TRANSPORT_TESTING_done (struct TransportTestingHandle * tth) | |||
413 | struct ConnectingContext *ct = NULL; | 431 | struct ConnectingContext *ct = NULL; |
414 | struct PeerContext *p = tth->p_head; | 432 | struct PeerContext *p = tth->p_head; |
415 | struct PeerContext *t = NULL; | 433 | struct PeerContext *t = NULL; |
416 | while (cc != NULL) | 434 | |
435 | GNUNET_assert (tth != NULL); | ||
436 | |||
437 | while (cc != tth->cc_tail) | ||
417 | { | 438 | { |
418 | ct = cc->next; | 439 | ct = cc->next; |
419 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "transport-testing", | 440 | GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, "transport-testing", |
420 | "Developer forgot to cancel connect request!\n"); | 441 | "Developer forgot to cancel connect request %X!\n", cc); |
421 | GNUNET_TRANSPORT_TESTING_connect_peers_cancel(tth, cc); | 442 | GNUNET_TRANSPORT_TESTING_connect_peers_cancel(tth, cc); |
422 | cc = ct; | 443 | cc = ct; |
423 | } | 444 | } |
@@ -432,8 +453,13 @@ GNUNET_TRANSPORT_TESTING_done (struct TransportTestingHandle * tth) | |||
432 | } | 453 | } |
433 | 454 | ||
434 | GNUNET_free (tth); | 455 | GNUNET_free (tth); |
456 | tth = NULL; | ||
435 | } | 457 | } |
436 | 458 | ||
459 | /** | ||
460 | * Initialize the transport testing | ||
461 | * @return transport testing handle | ||
462 | */ | ||
437 | struct TransportTestingHandle * | 463 | struct TransportTestingHandle * |
438 | GNUNET_TRANSPORT_TESTING_init () | 464 | GNUNET_TRANSPORT_TESTING_init () |
439 | { | 465 | { |
diff --git a/src/transport/transport-testing.h b/src/transport/transport-testing.h index 2aaff26b0..94cfaf59a 100644 --- a/src/transport/transport-testing.h +++ b/src/transport/transport-testing.h | |||
@@ -160,7 +160,7 @@ GNUNET_TRANSPORT_TESTING_stop_peer (struct TransportTestingHandle * tth, | |||
160 | * before. | 160 | * before. |
161 | * @param p1 peer 1 | 161 | * @param p1 peer 1 |
162 | * @param p2 peer 2 | 162 | * @param p2 peer 2 |
163 | * @param cb the callback to call | 163 | * @param cb the callback to call when both peers notified that they are connected |
164 | * @param cb_cls callback cls | 164 | * @param cb_cls callback cls |
165 | * @return a connect request handle | 165 | * @return a connect request handle |
166 | */ | 166 | */ |
@@ -180,10 +180,17 @@ void | |||
180 | GNUNET_TRANSPORT_TESTING_connect_peers_cancel (struct TransportTestingHandle *, | 180 | GNUNET_TRANSPORT_TESTING_connect_peers_cancel (struct TransportTestingHandle *, |
181 | void *cc); | 181 | void *cc); |
182 | 182 | ||
183 | 183 | /** | |
184 | * Clean up the transport testing | ||
185 | * @param tth transport testing handle | ||
186 | */ | ||
184 | void | 187 | void |
185 | GNUNET_TRANSPORT_TESTING_done (struct TransportTestingHandle * tth); | 188 | GNUNET_TRANSPORT_TESTING_done (struct TransportTestingHandle * tth); |
186 | 189 | ||
190 | /** | ||
191 | * Initialize the transport testing | ||
192 | * @return transport testing handle | ||
193 | */ | ||
187 | struct TransportTestingHandle * | 194 | struct TransportTestingHandle * |
188 | GNUNET_TRANSPORT_TESTING_init (); | 195 | GNUNET_TRANSPORT_TESTING_init (); |
189 | 196 | ||