diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-09-26 16:58:08 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-09-26 16:58:08 +0000 |
commit | 174554b2727e3057c1a8150974162ff8d9b8a993 (patch) | |
tree | 85e2575b02ea811bb26be7035726342a71c1c0ff /src/transport | |
parent | 72cf5d20ff9e75156be2a25380405a5548a19aee (diff) | |
download | gnunet-174554b2727e3057c1a8150974162ff8d9b8a993.tar.gz gnunet-174554b2727e3057c1a8150974162ff8d9b8a993.zip |
can now send a message
Diffstat (limited to 'src/transport')
-rw-r--r-- | src/transport/gnunet-transport-connect-running-peers.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/transport/gnunet-transport-connect-running-peers.c b/src/transport/gnunet-transport-connect-running-peers.c index ac4c9cf34..697c9b015 100644 --- a/src/transport/gnunet-transport-connect-running-peers.c +++ b/src/transport/gnunet-transport-connect-running-peers.c | |||
@@ -92,7 +92,7 @@ disconnect_from_peer (struct PeerContext *p) | |||
92 | } | 92 | } |
93 | 93 | ||
94 | static void | 94 | static void |
95 | end () | 95 | end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
96 | { | 96 | { |
97 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers\n"); | 97 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stopping peers\n"); |
98 | 98 | ||
@@ -152,13 +152,13 @@ notify_receive (void *cls, const struct GNUNET_PeerIdentity *peer, | |||
152 | (sizeof (struct GNUNET_MessageHeader) == ntohs (message->size))) | 152 | (sizeof (struct GNUNET_MessageHeader) == ntohs (message->size))) |
153 | { | 153 | { |
154 | ok = 0; | 154 | ok = 0; |
155 | end (); | 155 | end (NULL, NULL); |
156 | } | 156 | } |
157 | else | 157 | else |
158 | { | 158 | { |
159 | GNUNET_break (0); | 159 | GNUNET_break (0); |
160 | ok = 1; | 160 | ok = 1; |
161 | end (); | 161 | end (NULL, NULL); |
162 | } | 162 | } |
163 | } | 163 | } |
164 | 164 | ||
@@ -168,10 +168,20 @@ notify_ready (void *cls, size_t size, void *buf) | |||
168 | { | 168 | { |
169 | struct PeerContext *p = cls; | 169 | struct PeerContext *p = cls; |
170 | struct GNUNET_MessageHeader *hdr; | 170 | struct GNUNET_MessageHeader *hdr; |
171 | char t; | ||
171 | 172 | ||
172 | th = NULL; | 173 | th = NULL; |
174 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
175 | "Press <q> to quit or any key to transmit a message\n"); | ||
173 | 176 | ||
174 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 177 | scanf("%c", &t); |
178 | if (t == 'q') | ||
179 | { | ||
180 | GNUNET_SCHEDULER_add_now(&end, NULL); | ||
181 | return 0; | ||
182 | } | ||
183 | |||
184 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | ||
175 | "Transmitting message with %u bytes to peer %s\n", | 185 | "Transmitting message with %u bytes to peer %s\n", |
176 | sizeof (struct GNUNET_MessageHeader), GNUNET_i2s (&p->id)); | 186 | sizeof (struct GNUNET_MessageHeader), GNUNET_i2s (&p->id)); |
177 | GNUNET_assert (size >= 256); | 187 | GNUNET_assert (size >= 256); |
@@ -182,6 +192,10 @@ notify_ready (void *cls, size_t size, void *buf) | |||
182 | hdr->size = htons (sizeof (struct GNUNET_MessageHeader)); | 192 | hdr->size = htons (sizeof (struct GNUNET_MessageHeader)); |
183 | hdr->type = htons (MTYPE); | 193 | hdr->type = htons (MTYPE); |
184 | } | 194 | } |
195 | |||
196 | th = GNUNET_TRANSPORT_notify_transmit_ready (p1->th, &p2->id, 256, 0, TIMEOUT, | ||
197 | ¬ify_ready, p1); | ||
198 | |||
185 | return sizeof (struct GNUNET_MessageHeader); | 199 | return sizeof (struct GNUNET_MessageHeader); |
186 | } | 200 | } |
187 | 201 | ||
@@ -278,6 +292,7 @@ testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls) | |||
278 | GNUNET_free (p1_c); | 292 | GNUNET_free (p1_c); |
279 | 293 | ||
280 | // FIXME: THIS IS REQUIRED! SEEMS TO BE A BUG! | 294 | // FIXME: THIS IS REQUIRED! SEEMS TO BE A BUG! |
295 | |||
281 | send_task = | 296 | send_task = |
282 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &sendtask, NULL); | 297 | GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &sendtask, NULL); |
283 | } | 298 | } |