diff options
-rw-r--r-- | src/multicast/Makefile.am | 3 | ||||
-rw-r--r-- | src/multicast/test_multicast_multipeer.c | 51 |
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 | ||
57 | if ENABLE_TEST_RUN | 57 | if ENABLE_TEST_RUN |
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' | 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'; |
59 | 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='multicast;;;;INFO'; | ||
59 | TESTS = $(check_PROGRAMS) | 60 | TESTS = $(check_PROGRAMS) |
60 | endif | 61 | endif |
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 | ||
189 | static void | 192 | static 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 | |||
249 | int | ||
250 | origin_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 | |||
242 | static void | 264 | static void |
243 | origin_request (void *cls, | 265 | origin_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 | ||
256 | static void | 281 | static 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 | ||