aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2011-09-26 16:58:08 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2011-09-26 16:58:08 +0000
commit174554b2727e3057c1a8150974162ff8d9b8a993 (patch)
tree85e2575b02ea811bb26be7035726342a71c1c0ff /src/transport
parent72cf5d20ff9e75156be2a25380405a5548a19aee (diff)
downloadgnunet-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.c23
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
94static void 94static void
95end () 95end (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 &notify_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}