gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r26790 - gnunet/src/include


From: gnunet
Subject: [GNUnet-SVN] r26790 - gnunet/src/include
Date: Sun, 7 Apr 2013 19:05:57 +0200

Author: grothoff
Date: 2013-04-07 19:05:57 +0200 (Sun, 07 Apr 2013)
New Revision: 26790

Modified:
   gnunet/src/include/gnunet_multicast_service.h
Log:
-update

Modified: gnunet/src/include/gnunet_multicast_service.h
===================================================================
--- gnunet/src/include/gnunet_multicast_service.h       2013-04-07 15:33:19 UTC 
(rev 26789)
+++ gnunet/src/include/gnunet_multicast_service.h       2013-04-07 17:05:57 UTC 
(rev 26790)
@@ -235,12 +235,17 @@
  *
  * @param cls closure
  * @param peer identity of the peer that wants to join or leave
+ * @param join_req application-dependent join message from the new user
+ *        (might, for example, contain a user 
+ *        bind user identity/pseudonym to peer identity, application-level
+ *        message to origin, etc.)
  * @param is_joining GNUNET_YES if the peer wants to join, GNUNET_NO if the 
peer left
  * @return GNUNET_OK if joining is approved, GNUNET_SYSERR if it is 
disapproved;
  *         GNUNET_NO should be returned for peers leaving 
  */
 typedef int (*GNUNET_MULTICAST_MembershipChangeCallback)(void *cls,
                                                         const struct 
GNUNET_PeerIdentity *peer,
+                                                        const struct 
GNUNET_MessageHeader *join_req,
                                                         int is_joining);
 
 
@@ -335,7 +340,7 @@
 
 
 /**
- * Join a multicast group.
+ * Join a multicast group.  The entity joining is always the local peer.
  *
  * @param cfg configuration to use
  * @param cls closure for callbacks
@@ -356,7 +361,8 @@
  * @param message_cb function to be called for all messages we 
  *        receive from the group, excluding those our replay_cb
  *        already has
- * FIXME: need some argument(s) to identify the joining member (key pair to 
+ * @param join_req application-dependent join message to be passed to origin
+ *        (might, for example, contain a user 
  *        bind user identity/pseudonym to peer identity, application-level
  *        message to origin, etc.)
  * @return handle for the member, NULL on error 
@@ -369,23 +375,43 @@
                              uint64_t max_known_state_message_id,
                              GNUNET_MULTICAST_ReplayCallback replay_cb,
                              GNUNET_MULITCAST_MembershipTestCallback test_cb,
-                             GNUNET_MULTICAST_MessageCallback message_cb);
+                             GNUNET_MULTICAST_MessageCallback message_cb,
+                             const struct GNUNET_MessageHeader *join_req);
 
 
 /**
+ * Handle for a replay request.
+ */
+struct GNUNET_MULTICAST_ReplayRequest;
+
+
+/**
  * Request a message to be replayed.  Useful if messages below
  * the 'max_known_*_id's given when joining are needed and not
  * known to the client.
  *
+ * FIXME: we currently use the 'replay_cb' from the member_join call;
+ * we might alternatively add a different cb here.
+ *
  * @param member membership handle
  * @param message_id ID of a message that this client would like to see 
replayed
+ * @return replay request handle, NULL on error
  */
-void
+struct GNUNET_MULTICAST_ReplayRequest *
 GNUNET_MULTICAST_member_request_replay (struct GNUNET_MULTICAST_Member *member,
                                        uint64_t message_id);
 
 
 /**
+ * Cancel a replay request.
+ *
+ * @param rr request to cancel
+ */
+void
+GNUNET_MULTICAST_member_request_replay_cancel (struct 
GNUNET_MULTICAST_ReplayRequest *rr);
+
+
+/**
  * Leave a mutlicast group.
  *
  * @param member membership handle
@@ -395,6 +421,12 @@
 
 
 /**
+ * Handle for a message to be delivered to the origin.
+ */
+struct GNUNET_MULTICAST_ResponseRequest;
+
+
+/**
  * Send a message to the origin of the multicast group.  FIXME: how
  * will we do routing/flow-control of responses?
  * 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]