* possible (lower IDs will be considered known and thus only
* be replayed upon explicit request).
* FIXME: needed? can be optional or moved to a separate function.
+ * @param join_cb Function called to approve / disapprove joining of a peer.
+ * @param test_cb Function multicast can use to test group membership.
* @param replay_cb Function that can be called to replay messages
* this peer already knows from this group; NULL if this
* client is unable to support replay.
- * @param test_cb Function multicast can use to test group membership.
* @param message_cb Function to be called for all message fragments we
* receive from the group, excluding those our @a replay_cb
* already has.
const struct GNUNET_PeerIdentity *members,
const struct GNUNET_MessageHeader *join_request,
uint64_t max_known_fragment_id,
- GNUNET_MULTICAST_ReplayCallback replay_cb,
+ GNUNET_MULTICAST_JoinCallback join_cb,
GNUNET_MULITCAST_MembershipTestCallback test_cb,
+ GNUNET_MULITCAST_ReplayCallback replay_cb,
GNUNET_MULTICAST_MessageCallback message_cb,
void *cls);
* one in the future.
* @param policy Group policy specifying join and history restrictions.
* Used to automate group management decisions.
- * @param method_cb Function to invoke on messages received from members.
+ * @param method Function to invoke on messages received from members.
* @param join_cb Function to invoke when a peer wants to join.
- * @param cls Closure for the callbacks.
+ * @param cls Closure for @a method and @a join_cb.
* @return Handle for the channel master, NULL on error.
*/
struct GNUNET_PSYC_Master *
GNUNET_PSYC_master_start (const struct GNUNET_CONFIGURATION_Handle *cfg,
const struct GNUNET_CRYPTO_EccPrivateKey *priv_key,
enum GNUNET_MULTICAST_GroupPolicy policy,
- GNUNET_PSYC_Method method_cb,
+ GNUNET_PSYC_Method method,
GNUNET_PSYC_JoinCallback join_cb,
void *cls);
* @param pub_key ECC key that identifies the channel we wish to join.
* @param origin Peer identity of the origin.
* @param method Function to invoke on messages received from the channel,
- * typically at least contains functions for @e join and @e part.
- * @param method_cls Closure for @a method.
+ * typically at least contains functions for @e join and @e part.
+ * @param join_cb Function to invoke when a peer wants to join.
+ * @param cls Closure for @a method_cb and @a join_cb.
* @param method_name Method name for the join request.
* @param env Environment containing transient variables for the request, or NULL.
* @param data_size Number of bytes in @a data.
const struct GNUNET_CRYPTO_EccPublicKey *pub_key,
const struct GNUNET_PeerIdentity *origin,
GNUNET_PSYC_Method method,
- void *method_cls,
+ GNUNET_PSYC_JoinCallback join_cb,
+ void *cls,
const char *method_name,
const struct GNUNET_ENV_Environment *env,
size_t data_size,