multicast/psyc: join cb for members/slaves too
authorGabor X Toth <*@tg-x.net>
Sun, 28 Jul 2013 19:57:04 +0000 (19:57 +0000)
committerGabor X Toth <*@tg-x.net>
Sun, 28 Jul 2013 19:57:04 +0000 (19:57 +0000)
src/include/gnunet_multicast_service.h
src/include/gnunet_psyc_service.h

index 46e6f824b6e890d3672f8ea04cb9a99779c08330..cc951495dc701cc32fdd594a92de4e5a1171e865 100644 (file)
@@ -600,10 +600,11 @@ GNUNET_MULTICAST_origin_stop (struct GNUNET_MULTICAST_Origin *origin);
  *        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.
@@ -618,8 +619,9 @@ GNUNET_MULTICAST_member_join (const struct GNUNET_CONFIGURATION_Handle *cfg,
                               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);
 
index fae52f6cd15842e5708f283deb16437ef9deb895..399f2cad20a70579a17a8ebc3c3774709557a64a 100644 (file)
@@ -247,16 +247,16 @@ struct GNUNET_PSYC_Master;
  *        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);
 
@@ -351,8 +351,9 @@ struct GNUNET_PSYC_Slave;
  * @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.
@@ -364,7 +365,8 @@ GNUNET_PSYC_slave_join (const struct GNUNET_CONFIGURATION_Handle *cfg,
                         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,