aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/multicast/Makefile.am3
-rw-r--r--src/multicast/test_multicast_multipeer.c51
2 files changed, 40 insertions, 14 deletions
diff --git a/src/multicast/Makefile.am b/src/multicast/Makefile.am
index 9abe38506..0fa7f27a5 100644
--- a/src/multicast/Makefile.am
+++ b/src/multicast/Makefile.am
@@ -55,7 +55,8 @@ check_PROGRAMS = \
55 test_multicast_multipeer 55 test_multicast_multipeer
56 56
57if ENABLE_TEST_RUN 57if ENABLE_TEST_RUN
58AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@}; export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH; unset XDG_DATA_HOME; unset XDG_CONFIG_HOME; export GNUNET_FORCE_LOG=';;;;INFO' 58#AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@}; export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH; unset XDG_DATA_HOME; unset XDG_CONFIG_HOME; export GNUNET_FORCE_LOG=';;;;INFO';
59AM_TESTS_ENVIRONMENT=export GNUNET_PREFIX=$${GNUNET_PREFIX:-@libdir@}; export PATH=$${GNUNET_PREFIX:-@prefix@}/bin:$$PATH; unset XDG_DATA_HOME; unset XDG_CONFIG_HOME; export GNUNET_FORCE_LOG='multicast;;;;INFO';
59TESTS = $(check_PROGRAMS) 60TESTS = $(check_PROGRAMS)
60endif 61endif
61 62
diff --git a/src/multicast/test_multicast_multipeer.c b/src/multicast/test_multicast_multipeer.c
index 0f973517d..58e43d4ba 100644
--- a/src/multicast/test_multicast_multipeer.c
+++ b/src/multicast/test_multicast_multipeer.c
@@ -129,15 +129,13 @@ int notify (void *cls,
129 size_t *data_size, 129 size_t *data_size,
130 void *data) 130 void *data)
131{ 131{
132 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
133 "Member sents message to origin.\n");
134 132
135 char text[] = "ping"; 133 char text[] = "ping";
136 *data_size = strlen(text); 134 *data_size = strlen(text)+1;
137 GNUNET_memcpy(data, text, *data_size); 135 GNUNET_memcpy(data, text, *data_size);
138 136
139 GNUNET_log (GNUNET_ERROR_TYPE_INFO, 137 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
140 "len: %i.\n", strlen(text)); 138 "Member sents message to origin: %s\n", text);
141 139
142 return GNUNET_YES; 140 return GNUNET_YES;
143} 141}
@@ -162,6 +160,7 @@ member_join_decision (void *cls,
162 0, 160 0,
163 notify, 161 notify,
164 NULL); 162 NULL);
163
165 } 164 }
166} 165}
167 166
@@ -184,6 +183,10 @@ member_message ()
184{ 183{
185 GNUNET_log (GNUNET_ERROR_TYPE_INFO, 184 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
186 "member message...\n"); 185 "member message...\n");
186
187 // FIXME: not finished here
188 result = GNUNET_YES;
189 GNUNET_SCHEDULER_shutdown ();
187} 190}
188 191
189static void 192static void
@@ -197,9 +200,9 @@ origin_join_request (void *cls,
197 uint8_t data_size = ntohs (join_msg->size); 200 uint8_t data_size = ntohs (join_msg->size);
198 201
199 GNUNET_log (GNUNET_ERROR_TYPE_INFO, 202 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
200 "origin: got a join request...\n"); 203 "origin got a join request...\n");
201 GNUNET_log (GNUNET_ERROR_TYPE_INFO, 204 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
202 "member to origin: '%s'\n", (char *)&join_msg[1]); 205 "origin receives: '%s'\n", (char *)&join_msg[1]);
203 206
204 char data[] = "Come in!"; 207 char data[] = "Come in!";
205 data_size = strlen (data) + 1; 208 data_size = strlen (data) + 1;
@@ -208,6 +211,9 @@ origin_join_request (void *cls,
208 join_resp->type = htons (123); 211 join_resp->type = htons (123);
209 GNUNET_memcpy (&join_resp[1], data, data_size); 212 GNUNET_memcpy (&join_resp[1], data, data_size);
210 213
214 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
215 "origin sends: '%s'\n", data);
216
211 GNUNET_MULTICAST_join_decision (jh, 217 GNUNET_MULTICAST_join_decision (jh,
212 GNUNET_YES, 218 GNUNET_YES,
213 0, 219 0,
@@ -239,18 +245,37 @@ origin_replay_msg (void *cls,
239 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin replay msg\n"); 245 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin replay msg\n");
240} 246}
241 247
248
249int
250origin_notify (void *cls,
251 size_t *data_size,
252 void *data)
253{
254 char text[] = "pong";
255 *data_size = strlen(text)+1;
256 memcpy(data, text, *data_size);
257
258 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin sends (to all): %s\n", text);
259
260 return GNUNET_YES;
261}
262
263
242static void 264static void
243origin_request (void *cls, 265origin_request (void *cls,
244 const struct GNUNET_MULTICAST_RequestHeader *req) 266 const struct GNUNET_MULTICAST_RequestHeader *req)
245{ 267{
246 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin request msg\n"); 268 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin receives: %s\n", (char *)&req[1]);
247 269
248 //FIXME: get req content and send a pong 270 if (0 != strncmp ("ping", (char *)&req[1], 4)) {
249 //GNUNET_log (GNUNET_ERROR_TYPE_INFO, 271 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "origin didn't reveice a correct request");
250 // "Member sent: '%s'\n", req); 272 }
251 273
252 result = GNUNET_OK; 274 GNUNET_MULTICAST_origin_to_all (origin,
253 GNUNET_SCHEDULER_shutdown (); 275 0,
276 0,
277 origin_notify,
278 NULL);
254} 279}
255 280
256static void 281static void
@@ -480,7 +505,7 @@ testbed_master (void *cls,
480 GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); /* Schedule a new task on shutdown */ 505 GNUNET_SCHEDULER_add_shutdown (&shutdown_task, NULL); /* Schedule a new task on shutdown */
481 506
482 /* Schedule the shutdown task with a delay of a few Seconds */ 507 /* Schedule the shutdown task with a delay of a few Seconds */
483 timeout_tid = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 40), 508 timeout_tid = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 48),
484 &timeout_task, NULL); 509 &timeout_task, NULL);
485} 510}
486 511