diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-10-06 11:06:42 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-10-06 11:06:42 +0000 |
commit | 9dac44e13d6b9093615ed2a0dd30c9f6d37d29ab (patch) | |
tree | d0b22ab82aa54a3e2f634e475045a148a8c7ce67 /src/transport | |
parent | 60e84bc16ecf431bd6f7aa22b3adb48df70bf8cf (diff) | |
download | gnunet-9dac44e13d6b9093615ed2a0dd30c9f6d37d29ab.tar.gz gnunet-9dac44e13d6b9093615ed2a0dd30c9f6d37d29ab.zip |
Diffstat (limited to 'src/transport')
-rw-r--r-- | src/transport/test_transport_api.c | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/src/transport/test_transport_api.c b/src/transport/test_transport_api.c index 4f420f96a..c9068c47a 100644 --- a/src/transport/test_transport_api.c +++ b/src/transport/test_transport_api.c | |||
@@ -194,15 +194,41 @@ notify_ready (void *cls, size_t size, void *buf) | |||
194 | return sizeof (struct GNUNET_MessageHeader); | 194 | return sizeof (struct GNUNET_MessageHeader); |
195 | } | 195 | } |
196 | 196 | ||
197 | struct PeerContext * sender; | ||
198 | struct PeerContext * receiver; | ||
199 | |||
200 | static void | ||
201 | sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
202 | { | ||
203 | send_task = GNUNET_SCHEDULER_NO_TASK; | ||
204 | |||
205 | if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0) | ||
206 | return; | ||
207 | char * receiver_s = strdup(GNUNET_i2s (&receiver->id)); | ||
208 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
209 | "Sending message from peer %u (`%4s') -> peer %u (`%s') !\n", | ||
210 | sender->no, | ||
211 | GNUNET_i2s (&sender->id), receiver->no, receiver_s); | ||
212 | GNUNET_free (receiver_s); | ||
213 | |||
214 | th = GNUNET_TRANSPORT_notify_transmit_ready (sender->th, &receiver->id, 256, 0, | ||
215 | TIMEOUT_TRANSMIT, ¬ify_ready, | ||
216 | receiver); | ||
217 | } | ||
218 | |||
197 | 219 | ||
198 | static void | 220 | static void |
199 | notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer, | 221 | notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer, |
200 | const struct GNUNET_TRANSPORT_ATS_Information *ats, | 222 | const struct GNUNET_TRANSPORT_ATS_Information *ats, |
201 | uint32_t ats_count) | 223 | uint32_t ats_count) |
202 | { | 224 | { |
225 | static int c; | ||
226 | c++; | ||
203 | struct PeerContext *p = cls; | 227 | struct PeerContext *p = cls; |
204 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer %u (`%4s') connected to us!\n", | 228 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Peer %u (`%4s') connected to us!\n", |
205 | p->no, GNUNET_i2s (peer)); | 229 | p->no, GNUNET_i2s (peer)); |
230 | if (c == 2) | ||
231 | send_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &sendtask, NULL); | ||
206 | } | 232 | } |
207 | 233 | ||
208 | 234 | ||
@@ -217,27 +243,6 @@ notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer) | |||
217 | th = NULL; | 243 | th = NULL; |
218 | } | 244 | } |
219 | 245 | ||
220 | struct PeerContext * sender; | ||
221 | struct PeerContext * receiver; | ||
222 | |||
223 | static void | ||
224 | sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
225 | { | ||
226 | send_task = GNUNET_SCHEDULER_NO_TASK; | ||
227 | |||
228 | if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0) | ||
229 | return; | ||
230 | char * receiver_s = strdup(GNUNET_i2s (&receiver->id)); | ||
231 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
232 | "Sending message from peer %u (`%4s') -> peer %u (`%s') !\n", | ||
233 | sender->no, | ||
234 | GNUNET_i2s (&sender->id), receiver->no, receiver_s); | ||
235 | GNUNET_free (receiver_s); | ||
236 | |||
237 | th = GNUNET_TRANSPORT_notify_transmit_ready (sender->th, &receiver->id, 256, 0, | ||
238 | TIMEOUT_TRANSMIT, ¬ify_ready, | ||
239 | receiver); | ||
240 | } | ||
241 | 246 | ||
242 | static void | 247 | static void |
243 | testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls) | 248 | testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls) |
@@ -249,10 +254,6 @@ testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls) | |||
249 | p1->no, p1_c, | 254 | p1->no, p1_c, |
250 | p2->no, GNUNET_i2s (&p2->id)); | 255 | p2->no, GNUNET_i2s (&p2->id)); |
251 | GNUNET_free (p1_c); | 256 | GNUNET_free (p1_c); |
252 | |||
253 | // FIXME: THIS IS REQUIRED! SEEMS TO BE A BUG! | ||
254 | send_task = | ||
255 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &sendtask, NULL); | ||
256 | } | 257 | } |
257 | 258 | ||
258 | static void | 259 | static void |