aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/transport/test_transport_api.c51
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
197struct PeerContext * sender;
198struct PeerContext * receiver;
199
200static void
201sendtask (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, &notify_ready,
216 receiver);
217}
218
197 219
198static void 220static void
199notify_connect (void *cls, const struct GNUNET_PeerIdentity *peer, 221notify_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
220struct PeerContext * sender;
221struct PeerContext * receiver;
222
223static void
224sendtask (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, &notify_ready,
239 receiver);
240}
241 246
242static void 247static void
243testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls) 248testing_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
258static void 259static void