diff options
author | Christian Grothoff <christian@grothoff.org> | 2013-06-11 13:22:50 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2013-06-11 13:22:50 +0000 |
commit | 8ee4ad79af4d0db83c5fd60027bb5f8f11e27ef3 (patch) | |
tree | b82624eea661578ce0543caac596e4150d91b9dc /src/include/gnunet_multicast_service.h | |
parent | 8599c7df4dff7eddba77260634dd7b94f9ebe016 (diff) | |
download | gnunet-8ee4ad79af4d0db83c5fd60027bb5f8f11e27ef3.tar.gz gnunet-8ee4ad79af4d0db83c5fd60027bb5f8f11e27ef3.zip |
-allow asynchronous answers to membership test
Diffstat (limited to 'src/include/gnunet_multicast_service.h')
-rw-r--r-- | src/include/gnunet_multicast_service.h | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/src/include/gnunet_multicast_service.h b/src/include/gnunet_multicast_service.h index a110799c4..9573f3e08 100644 --- a/src/include/gnunet_multicast_service.h +++ b/src/include/gnunet_multicast_service.h | |||
@@ -299,19 +299,35 @@ typedef void (*GNUNET_MULTICAST_MembershipChangeCallback)(void *cls, | |||
299 | 299 | ||
300 | 300 | ||
301 | /** | 301 | /** |
302 | * Method called to test if a member was in the group at a particular time. | 302 | * Handle to pass back for the answer of a membership test. |
303 | */ | ||
304 | struct GNUNET_MULTICAST_MembershipTestHandle; | ||
305 | |||
306 | |||
307 | /** | ||
308 | * Call informing multicast about the decision taken for membership test. | ||
303 | * | 309 | * |
304 | * FIXME: maybe allow reply to be asynchronous | 310 | * @param mth handle that was given for the query |
311 | * @param decision GNUNET_YES if peer was a member, GNUNET_NO if peer was not a member, | ||
312 | * GNUNET_SYSERR if we cannot answer the membership test | ||
313 | */ | ||
314 | void | ||
315 | GNUNET_MULTICAST_membership_test_answer (struct GNUNET_MULTICAST_MembershipTestHandle *mth, | ||
316 | int decision); | ||
317 | |||
318 | |||
319 | /** | ||
320 | * Method called to test if a member was in the group at a particular time. | ||
305 | * | 321 | * |
306 | * @param cls closure | 322 | * @param cls closure |
307 | * @param peer identity of the peer that we want to test | 323 | * @param peer identity of the peer that we want to test |
308 | * @param message_id message ID for which we want to do the test | 324 | * @param message_id message ID for which we want to do the test |
309 | * @return GNUNET_YES if peer was a member, GNUNET_NO if peer was not a member, | 325 | * @param mth handle to give to 'GNUNET_MULTICAST_membership_test_answer' |
310 | * GNUNET_SYSERR if we cannot answer the membership test | ||
311 | */ | 326 | */ |
312 | typedef int (*GNUNET_MULTICAST_MembershipTestCallback)(void *cls, | 327 | typedef void (*GNUNET_MULTICAST_MembershipTestCallback)(void *cls, |
313 | const struct GNUNET_PeerIdentity *peer, | 328 | const struct GNUNET_PeerIdentity *peer, |
314 | uint64_t message_id); | 329 | uint64_t message_id, |
330 | struct GNUNET_MULTICAST_MembershipTestHandle *mth); | ||
315 | 331 | ||
316 | 332 | ||
317 | /** | 333 | /** |