diff options
-rw-r--r-- | src/multicast/test_multicast_multipeer.c | 67 |
1 files changed, 47 insertions, 20 deletions
diff --git a/src/multicast/test_multicast_multipeer.c b/src/multicast/test_multicast_multipeer.c index bb3ae447c..aee3a44d5 100644 --- a/src/multicast/test_multicast_multipeer.c +++ b/src/multicast/test_multicast_multipeer.c | |||
@@ -107,7 +107,6 @@ shutdown_task (void *cls) | |||
107 | static void | 107 | static void |
108 | timeout_task (void *cls) | 108 | timeout_task (void *cls) |
109 | { | 109 | { |
110 | timeout_tid = NULL; | ||
111 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 110 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
112 | "Timeout!\n"); | 111 | "Timeout!\n"); |
113 | result = GNUNET_SYSERR; | 112 | result = GNUNET_SYSERR; |
@@ -126,6 +125,23 @@ member_join_request (void *cls, | |||
126 | 125 | ||
127 | } | 126 | } |
128 | 127 | ||
128 | int notify (void *cls, | ||
129 | size_t *data_size, | ||
130 | void *data) | ||
131 | { | ||
132 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
133 | "Member sents message to origin.\n"); | ||
134 | |||
135 | char text[] = "ping"; | ||
136 | *data_size = strlen(text); | ||
137 | GNUNET_memcpy(data, text, *data_size); | ||
138 | |||
139 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
140 | "len: %i.\n", strlen(text)); | ||
141 | |||
142 | return GNUNET_YES; | ||
143 | } | ||
144 | |||
129 | 145 | ||
130 | static void | 146 | static void |
131 | member_join_decision (void *cls, | 147 | member_join_decision (void *cls, |
@@ -135,11 +151,18 @@ member_join_decision (void *cls, | |||
135 | const struct GNUNET_PeerIdentity *relays, | 151 | const struct GNUNET_PeerIdentity *relays, |
136 | const struct GNUNET_MessageHeader *join_msg) | 152 | const struct GNUNET_MessageHeader *join_msg) |
137 | { | 153 | { |
154 | struct GNUNET_MULTICAST_MemberTransmitHandle *req; | ||
155 | |||
138 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 156 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
139 | "Member received a decision from origin: %s\n", (GNUNET_YES == is_admitted)?"accepted":"rejected"); | 157 | "Member received a decision from origin: %s\n", (GNUNET_YES == is_admitted)?"accepted":"rejected"); |
140 | 158 | ||
141 | result = GNUNET_OK; | 159 | if (GNUNET_YES == is_admitted) |
142 | GNUNET_SCHEDULER_shutdown (); | 160 | { |
161 | req = GNUNET_MULTICAST_member_to_origin (member, | ||
162 | 0, | ||
163 | notify, | ||
164 | NULL); | ||
165 | } | ||
143 | } | 166 | } |
144 | 167 | ||
145 | static void | 168 | static void |
@@ -174,13 +197,11 @@ origin_join_request (void *cls, | |||
174 | uint8_t data_size = ntohs (join_msg->size); | 197 | uint8_t data_size = ntohs (join_msg->size); |
175 | 198 | ||
176 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 199 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
177 | "Dizzy: Mh, got a join request...\n"); | 200 | "origin: got a join request...\n"); |
178 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 201 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
179 | "'%s'\n", (char *)&join_msg[1]); | 202 | "member to origin: '%s'\n", (char *)&join_msg[1]); |
180 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
181 | "Dizzy: Oh, it's Bird! Let's get him in.\n"); | ||
182 | 203 | ||
183 | char data[] = "Hi, Bird. Come in!"; | 204 | char data[] = "Come in!"; |
184 | data_size = strlen (data) + 1; | 205 | data_size = strlen (data) + 1; |
185 | join_resp = GNUNET_malloc (sizeof (join_resp) + data_size); | 206 | join_resp = GNUNET_malloc (sizeof (join_resp) + data_size); |
186 | join_resp->size = htons (sizeof (join_resp) + data_size); | 207 | join_resp->size = htons (sizeof (join_resp) + data_size); |
@@ -198,21 +219,21 @@ origin_join_request (void *cls, | |||
198 | 219 | ||
199 | static void | 220 | static void |
200 | origin_replay_frag (void *cls, | 221 | origin_replay_frag (void *cls, |
201 | const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, | 222 | const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, |
202 | uint64_t fragment_id, | 223 | uint64_t fragment_id, |
203 | uint64_t flags, | 224 | uint64_t flags, |
204 | struct GNUNET_MULTICAST_ReplayHandle *rh) | 225 | struct GNUNET_MULTICAST_ReplayHandle *rh) |
205 | { | 226 | { |
206 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin replay fraq msg\n"); | 227 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin replay fraq msg\n"); |
207 | } | 228 | } |
208 | 229 | ||
209 | static void | 230 | static void |
210 | origin_replay_msg (void *cls, | 231 | origin_replay_msg (void *cls, |
211 | const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, | 232 | const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, |
212 | uint64_t message_id, | 233 | uint64_t message_id, |
213 | uint64_t fragment_offset, | 234 | uint64_t fragment_offset, |
214 | uint64_t flags, | 235 | uint64_t flags, |
215 | struct GNUNET_MULTICAST_ReplayHandle *rh) | 236 | struct GNUNET_MULTICAST_ReplayHandle *rh) |
216 | { | 237 | { |
217 | 238 | ||
218 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin replay msg\n"); | 239 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin replay msg\n"); |
@@ -220,15 +241,21 @@ origin_replay_msg (void *cls, | |||
220 | 241 | ||
221 | static void | 242 | static void |
222 | origin_request (void *cls, | 243 | origin_request (void *cls, |
223 | const struct GNUNET_MULTICAST_RequestHeader *req) | 244 | const struct GNUNET_MULTICAST_RequestHeader *req) |
224 | { | 245 | { |
225 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin request msg\n"); | 246 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin request msg\n"); |
226 | 247 | ||
248 | //FIXME: get req content and send a pong | ||
249 | //GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
250 | // "Member sent: '%s'\n", req); | ||
251 | |||
252 | result = GNUNET_OK; | ||
253 | GNUNET_SCHEDULER_shutdown (); | ||
227 | } | 254 | } |
228 | 255 | ||
229 | static void | 256 | static void |
230 | origin_message (void *cls, | 257 | origin_message (void *cls, |
231 | const struct GNUNET_MULTICAST_MessageHeader *msg) | 258 | const struct GNUNET_MULTICAST_MessageHeader *msg) |
232 | { | 259 | { |
233 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin message msg\n"); | 260 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin message msg\n"); |
234 | } | 261 | } |
@@ -269,7 +296,7 @@ multicast_ca1 (void *cls, | |||
269 | member_key = GNUNET_CRYPTO_ecdsa_key_create (); | 296 | member_key = GNUNET_CRYPTO_ecdsa_key_create (); |
270 | GNUNET_CRYPTO_ecdsa_key_get_public (member_key, &member_pub_key); | 297 | GNUNET_CRYPTO_ecdsa_key_get_public (member_key, &member_pub_key); |
271 | 298 | ||
272 | char data[] = "Whut's up, Dizzy!"; | 299 | char data[] = "Hi, can I enter?"; |
273 | uint8_t data_size = strlen (data) + 1; | 300 | uint8_t data_size = strlen (data) + 1; |
274 | join_msg = GNUNET_malloc (sizeof (join_msg) + data_size); | 301 | join_msg = GNUNET_malloc (sizeof (join_msg) + data_size); |
275 | join_msg->size = htons (sizeof (join_msg) + data_size); | 302 | join_msg->size = htons (sizeof (join_msg) + data_size); |