gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r28643 - gnunet/src/include
Date: Thu, 15 Aug 2013 12:09:33 +0200

Author: tg
Date: 2013-08-15 12:09:33 +0200 (Thu, 15 Aug 2013)
New Revision: 28643

Modified:
   gnunet/src/include/gnunet_env_lib.h
   gnunet/src/include/gnunet_multicast_service.h
   gnunet/src/include/gnunet_psyc_service.h
   gnunet/src/include/gnunet_psycstore_service.h
   gnunet/src/include/gnunet_social_service.h
Log:
psycstore: added state_hash_update() and counters_get(); psyc: async 
state_get*(); multicast: membership test & replay params

Modified: gnunet/src/include/gnunet_env_lib.h
===================================================================
--- gnunet/src/include/gnunet_env_lib.h 2013-08-15 09:34:28 UTC (rev 28642)
+++ gnunet/src/include/gnunet_env_lib.h 2013-08-15 10:09:33 UTC (rev 28643)
@@ -40,8 +40,6 @@
    * Assign value for a persistent state variable.
    *
    * If an assigned value is NULL, the variable is deleted.
-   * If the variable name that comes with thi operator is empty,
-   * it means a full state reset, the channel state is zeroed.
    */
   GNUNET_ENV_OP_ASSIGN = '=',
 

Modified: gnunet/src/include/gnunet_multicast_service.h
===================================================================
--- gnunet/src/include/gnunet_multicast_service.h       2013-08-15 09:34:28 UTC 
(rev 28642)
+++ gnunet/src/include/gnunet_multicast_service.h       2013-08-15 10:09:33 UTC 
(rev 28643)
@@ -394,7 +394,7 @@
 
 
 /** 
- * Call informing multicast about the decision taken for membership test.
+ * Call informing multicast about the decision taken for a membership test.
  *
  * @param mth Handle that was given for the query.
  * @param result #GNUNET_YES if peer was a member, #GNUNET_NO if peer was not 
a member,
@@ -412,14 +412,18 @@
  * message can be replayed.
  *
  * @param cls Closure.
- * @param member_id Identity of the member that we want to test.
- * @param fragment_id Message fragment ID for which we want to do the test.
+ * @param member_key Identity of the member that we want to test.
+ * @param message_id Message ID for which to perform the test.
+ * @param group_generation Group generation of the message. It has relevance if
+ *        the message consists of multiple fragments with different group
+ *        generations.
  * @param mth Handle to give to GNUNET_MULTICAST_membership_test_answer().
  */
 typedef void
 (*GNUNET_MULTICAST_MembershipTestCallback) (void *cls,
                                             const struct 
GNUNET_CRYPTO_EccPublicKey *member_key,
-                                            uint64_t fragment_id,
+                                            uint64_t message_id,
+                                            uint64_t group_generation,
                                             struct 
GNUNET_MULTICAST_MembershipTestHandle *mth);
 
 
@@ -472,13 +476,17 @@
  * group is left, the replay handle must no longer be used.
  *
  * @param cls Closure (set from GNUNET_MULTICAST_origin_start()
- *            or GNUNET_MULTICAST_member_join()).
+ *        or GNUNET_MULTICAST_member_join()).
  * @param fragment_id Which message fragment should be replayed.
+ * @param message_id Which message should be replayed.
+ * @param flags Flags for the replay.
  * @param rh Handle to pass to message transmit function.
  */
 typedef void
 (*GNUNET_MULTICAST_ReplayCallback) (void *cls,
                                     uint64_t fragment_id,
+                                    uint64_t message_id,
+                                    uint64_t flags,
                                     struct GNUNET_MULTICAST_ReplayHandle *rh);
 
 
@@ -517,6 +525,9 @@
 /** 
  * Replay a message from the multicast group.
  *
+ * FIXME: use notify callbacks here too (or in a replay2() function),
+ *        to be able to use the replay functionality for state sync as well.
+ *
  * @param rh Replay handle identifying which replay operation was requested.
  * @param msg Replayed message fragment, NULL if unknown/error.
  * @param ec Error code.
@@ -545,6 +556,9 @@
  *        FIXME: we'll likely want to use NOT the p521 curve here, but a 
cheaper
  *        one in the future.
  * @param policy Group policy specifying join and history restrictions.
+ *        FIXME: needed? Ít would be enough to have this on the PSYC layer, as
+ *        access control to enforce the policy is done by the membership test
+ *        and join request callbacks of the API.
  * @param last_fragment_id Last fragment ID to continue counting fragments from
  *        when restarting the origin.  0 for a new group.
  * @param join_cb Function called to approve / disapprove joining of a peer.
@@ -689,14 +703,25 @@
  * needed and not known to the client.
  *
  * @param member Membership handle.
- * @param message_id ID of a message that this client would like to see 
replayed.
+ * @param fragment_id ID of a message fragment that this client would like to
+          see replayed.
+ * @param message_id ID of a message that this client would like to see
+ *        replayed.  Typically only one of the @a fragment_id and @a message_id
+ *        is given.  Specifying a @a message_id would return the last fragment
+ *        of the message, which allows requesting the preceding fragments of 
the
+ *        message by looking at the @e fragment_delta header field.
+ * @param flags Additional flags for the replay request.  It is used & defined
+ *        by the replay callback.  E.g. the PSYC service would use this to
+ *        implement state synchronization.
  * @param message_cb Function to be called for the replayed message.
  * @param message_cb_cls Closure for @a message_cb.
  * @return Replay request handle, NULL on error.
  */
 struct GNUNET_MULTICAST_MemberReplayHandle *
 GNUNET_MULTICAST_member_request_replay (struct GNUNET_MULTICAST_Member *member,
+                                        uint64_t fragment_id,
                                         uint64_t message_id,
+                                        uint64_t flags,
                                         GNUNET_MULTICAST_MessageCallback 
message_cb,
                                         void *message_cb_cls);
 

Modified: gnunet/src/include/gnunet_psyc_service.h
===================================================================
--- gnunet/src/include/gnunet_psyc_service.h    2013-08-15 09:34:28 UTC (rev 
28642)
+++ gnunet/src/include/gnunet_psyc_service.h    2013-08-15 10:09:33 UTC (rev 
28643)
@@ -304,6 +304,11 @@
    * transmitting this message.
    */
   GNUNET_PSYC_MASTER_TRANSMIT_INC_GROUP_GEN = 1 << 1,
+
+  /**
+   * Add PSYC header variable with the hash of the current channel state.
+   */
+  GNUNET_PSYC_MASTER_TRANSMIT_ADD_STATE_HASH = 1 << 2
 };
 
 
@@ -564,9 +569,10 @@
  * Function called to inform a member about stored state values for a channel.
  *
  * @param cls Closure.
- * @param name Name of the state variable.
+ * @param name Name of the state variable.  A NULL value indicates that there
+ *        are no more state variables to be returned.
+ * @param value_size Number of bytes in @a value.
  * @param value Value of the state variable.
- * @param value_size Number of bytes in @a value.
  */
 typedef void
 (*GNUNET_PSYC_StateCallback) (void *cls,
@@ -575,6 +581,15 @@
                               const void *value);
 
 
+/**
+ * Function called when a requested operation has finished.
+ *
+ * @param cls Closure.
+ */
+typedef void
+(*GNUNET_PSYC_FinishCallback) (void *cls);
+
+
 /** 
  * Handle to a story telling operation.
  */
@@ -593,14 +608,13 @@
  * @param start_message_id Earliest interesting point in history.
  * @param end_message_id Last (exclusive) interesting point in history.
  * @param method Function to invoke on messages received from the story.
- * @param method_cls Closure for @a method.
  * @param finish_cb Function to call when the requested story has been fully
  *        told (counting message IDs might not suffice, as some messages
  *        might be secret and thus the listener would not know the story is
  *        finished without being told explicitly); once this function
  *        has been called, the client must not call
  *        GNUNET_PSYC_channel_story_tell_cancel() anymore.
- * @param finish_cb_cls Closure to finish_cb.
+ * @param cls Closure for the callbacks.
  * @return Handle to cancel story telling operation.
  */
 struct GNUNET_PSYC_Story *
@@ -608,9 +622,8 @@
                                 uint64_t start_message_id,
                                 uint64_t end_message_id,
                                 GNUNET_PSYC_Method method,
-                                void *method_cls,
-                                void (*finish_cb)(void *),
-                                void *finish_cb_cls);
+                                GNUNET_PSYC_FinishCallback *finish_cb,
+                                void *cls);
 
 
 /** 
@@ -624,59 +637,63 @@
 void
 GNUNET_PSYC_channel_story_tell_cancel (struct GNUNET_PSYC_Story *story);
 
+struct GNUNET_PSYC_StateQuery;
 
+
 /** 
- * Call the given callback on all matching values (including variables) in the
- * channel state.
+ * Return all channel state variables whose name matches a given prefix.
  *
- * The callback is invoked synchronously on all matching states (as the state 
is
- * fully replicated in the library in this process; channel states should be
- * small, large data is to be passed as streaming data to methods).
- *
- * A name matches if it includes the @a state_name prefix, thus requesting the
- * empty state ("") will match all values; requesting "_a_b" will also return
+ * A name matches if it starts with the given @a name_prefix, thus requesting 
the
+ * empty prefix ("") will match all values; requesting "_a_b" will also return
  * values stored under "_a_b_c".
  *
+ * The @a state_cb is invoked on all matching state variables asynchronously, 
as
+ * the state is stored in and retrieved from the PSYCstore,
+ *
  * @param channel Channel handle.
- * @param state_name Name of the state to query (full name
- *        might be longer, this is only the prefix that must match).
- * @param cb Function to call on the matching state values.
- * @param cb_cls Closure for @a cb.
- * @return Message ID for which the state was returned (last seen
- *         message ID).
+ * @param name_prefix Prefix of the state variable name to match.
+ * @param cb Function to call with the matching state variables.
+ * @param cb_cls Closure for the callbacks.
+ * @return Handle that can be used to cancel the query operation.
  */
-uint64_t
+struct GNUNET_PSYC_StateQuery *
 GNUNET_PSYC_channel_state_get_all (struct GNUNET_PSYC_Channel *channel,
-                                   const char *state_name,
+                                   const char *name_prefix,
                                    GNUNET_PSYC_StateCallback cb,
                                    void *cb_cls);
 
 
 /** 
- * Obtain the current value of the best-matching value in the state
- * (including variables).
+ * Retrieve the best matching channel state variable.
  *
- * Note that variables are only valid during a #GNUNET_PSYC_Method invocation, 
as
- * variables are only valid for the duration of a method invocation.
+ * If the requested variable name is not present in the state, the nearest
+ * less-specific name is matched; for example, requesting "_a_b" will match 
"_a"
+ * if "_a_b" does not exist.
  *
- * If the requested variable name does not have an exact state in
- * the state, the nearest less-specific name is matched; for example,
- * requesting "_a_b" will match "_a" if "_a_b" does not exist.
- *
  * @param channel Channel handle.
- * @param variable_name Name of the variable to query.
- * @param[out] return_value_size Set to number of bytes in variable,
- *        needed as variables might contain binary data and
- *        might also not be 0-terminated; set to 0 on errors.
- * @return NULL on error (no matching state or variable), pointer
- *         to the respective value otherwise.
+ * @param full_name Full name of the requested variable, the actual variable
+ *        returned might have a shorter name..
+ * @param cb Function called once when a matching state variable is found.
+ *        Not called if there's no matching state variable.
+ * @param cb_cls Closure for the callbacks.
+ * @return Handle that can be used to cancel the query operation.
  */
-const void *
+struct GNUNET_PSYC_StateQuery *
 GNUNET_PSYC_channel_state_get (struct GNUNET_PSYC_Channel *channel,
-                               const char *variable_name,
-                               size_t *return_value_size);
+                               const char *full_name,
+                               GNUNET_PSYC_StateCallback cb,
+                               void *cb_cls);
 
 
+/** 
+ * Cancel a state query operation.
+ *
+ * @param query Handle for the operation to cancel.
+ */
+void
+GNUNET_PSYC_channel_state_get_cancel (struct GNUNET_PSYC_StateQuery *query);
+
+
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
 #endif

Modified: gnunet/src/include/gnunet_psycstore_service.h
===================================================================
--- gnunet/src/include/gnunet_psycstore_service.h       2013-08-15 09:34:28 UTC 
(rev 28642)
+++ gnunet/src/include/gnunet_psycstore_service.h       2013-08-15 10:09:33 UTC 
(rev 28643)
@@ -76,15 +76,54 @@
 
 
 /** 
+ * Callback used to return the latest value of counters of a channel.
+ *
+ * @see GNUNET_PSYCSTORE_counters_get()
+ *
+ * @param *cls Closure.
+ * @param fragment_id Latest message fragment ID, used by multicast.
+ * @param message_id Latest message ID, used by PSYC.
+ * @param group_generation Latest group generation, used by PSYC.
+ */
+typedef void
+(*GNUNET_PSYCSTORE_CountersCallback) (void *cls,
+                                      uint64_t fragment_id,
+                                      uint64_t message_id,
+                                      uint64_t group_generation);
+
+
+/** 
+ * Retrieve latest values of counters for a channel.
+ *
+ * The current value of counters are needed when a channel master is restarted,
+ * so that it can continue incrementing the counters from their last value.
+ *
+ * @param h Handle for the PSYCstore.
+ * @param channel_key Public key that identifies the channel.
+ * @param cb Callback to call with the result.
+ * @param cb_cls Closure for the callback.
+ * 
+ * @return 
+ */
+struct GNUNET_PSYCSTORE_OperationHandle *
+GNUNET_PSYCSTORE_counters_get (struct GNUNET_PSYCSTORE_Handle *h,
+                               GNUNET_CRYPTO_EccPublicKey *channel_key,
+                               GNUNET_PSYCSTORE_CountersCallback *cb,
+                               void *cb_cls);
+
+
+/** 
  * Function called with the result of an asynchronous operation.
  * 
  * @param result #GNUNET_SYSERR on error,
  *        #GNUNET_YES on success or if the peer was a member,
  *        #GNUNET_NO if the peer was not a member
  */
-typedef void (*GNUNET_PSYCSTORE_ResultCallback)(void *cls,
-                                                int result);
+typedef void
+(*GNUNET_PSYCSTORE_ResultCallback) (void *cls,
+                                    int result);
 
+
 /** 
  * Store join/leave events for a PSYC channel in order to be able to answer
  * membership test queries later.
@@ -92,9 +131,12 @@
  * @param h Handle for the PSYCstore.
  * @param channel_key The channel where the event happened.
  * @param slave_key Public key of joining/leaving slave.
+ * @param did_join #GNUNET_YES on join, #GNUNET_NO on part.
  * @param announced_at ID of the message that announced the membership change.
  * @param effective_since Message ID this membership change is in effect since.
- * @param did_join #GNUNET_YES on join, #GNUNET_NO on part.
+ * @param group_generation In case of a part, the last group generation the
+ *        slave has access to.  It has relevance when a larger message have
+ *        fragments with different group generations.
  * @param rcb Callback to call with the result of the storage operation.
  * @param rcb_cls Closure for the callback.
  *
@@ -104,24 +146,26 @@
 GNUNET_PSYCSTORE_membership_store (struct GNUNET_PSYCSTORE_Handle *h,
                                    const struct GNUNET_CRYPTO_EccPublicKey 
*channel_key,
                                    const struct GNUNET_CRYPTO_EccPublicKey 
*slave_key,
+                                   int did_join,
                                    uint64_t announced_at,
                                    uint64_t effective_since,
-                                   int did_join,
+                                   uint64_t group_generation,
                                    GNUNET_PSYCSTORE_ResultCallback rcb,
                                    void *rcb_cls);
 
 
 /** 
- * Test if a peer was a member of the channel when the message fragment with 
the
- * specified ID was sent to the channel.
+ * Test if a peer was a member of the channel during the given period 
specified by the group generation.
  *
- * This is useful in case of retransmissions to check if the peer was 
authorized
- * to see the requested message.
+ * This is useful when relaying and replaying messages to check if a 
particular slave has access to the message fragment with a given group 
generation.  It is also used when handling join requests to determine whether 
the slave is currently admitted to the channel.
  *
  * @param h Handle for the PSYCstore.
  * @param channel_key The channel we are interested in.
  * @param slave_key Public key of slave whose membership to check.
- * @param fragment_id Message fragment ID to check.
+ * @param message_id Message ID for which to do the membership test.
+ * @param group_generation Group generation of the fragment of the message to
+ *        test.  It has relevance if the message consists of multiple fragments
+ *        with different group generations.
  * @param rcb Callback to call with the test result.
  * @param rcb_cls Closure for the callback.
  *
@@ -131,7 +175,8 @@
 GNUNET_PSYCSTORE_membership_test (struct GNUNET_PSYCSTORE_Handle *h,
                                   const struct GNUNET_CRYPTO_EccPublicKey 
*channel_key,
                                   const struct GNUNET_CRYPTO_EccPublicKey 
*slave_key,
-                                  uint64_t fragment_id,
+                                  uint64_t message_id,
+                                  uint64_t group_generation,
                                   GNUNET_PSYCSTORE_ResultCallback rcb,
                                   void *rcb_cls);
 
@@ -160,12 +205,14 @@
  * GNUNET_PSYCSTORE_fragment_get() or GNUNET_PSYCSTORE_message_get() call.
  *
  * @param cls Closure.
- * @param message The retrieved message fragment.
+ * @param message The retrieved message fragment.  A NULL value indicates that
+ *        there are no more results to be returned.
  * @param flags Message flags indicating fragmentation status.
  */
-typedef void (*GNUNET_PSYCSTORE_FragmentResultCallback)(void *cls,
-                                                       const struct 
GNUNET_MULTICAST_MessageHeader *message,
-                                                       enum 
GNUNET_PSYC_MessageFlags flags);
+typedef void
+(*GNUNET_PSYCSTORE_FragmentCallback) (void *cls,
+                                      const struct 
GNUNET_MULTICAST_MessageHeader *message,
+                                      enum GNUNET_PSYC_MessageFlags flags);
 
 
 /** 
@@ -174,8 +221,8 @@
  * @param h Handle for the PSYCstore.
  * @param channel_key The channel we are interested in.
  * @param fragment_id Fragment ID to check.  Use 0 to get the latest message 
fragment.
- * @param rcb Callback to call with the result of the operation.
- * @param rcb_cls Closure for the callback.
+ * @param cb Callback to call with the retrieved fragment.
+ * @param cb_cls Closure for the callback.
  * 
  * @return Handle that can be used to cancel the operation.
  */
@@ -183,8 +230,8 @@
 GNUNET_PSYCSTORE_fragment_get (struct GNUNET_PSYCSTORE_Handle *h,
                                const struct GNUNET_CRYPTO_EccPublicKey 
*channel_key,
                                uint64_t fragment_id,
-                               GNUNET_PSYCSTORE_FragmentResultCallback rcb,
-                               void *rcb_cls);
+                               GNUNET_PSYCSTORE_FragmentCallback cb,
+                               void *cb_cls);
 
 
 /** 
@@ -193,8 +240,8 @@
  * @param h Handle for the PSYCstore.
  * @param channel_key The channel we are interested in.
  * @param message_id Message ID to check.  Use 0 to get the latest message.
- * @param rcb Callback to call with the result of the operation.
- * @param rcb_cls Closure for the callback.
+ * @param cb Callback to call with the retrieved fragments.
+ * @param cb_cls Closure for the callback.
  * 
  * @return Handle that can be used to cancel the operation.
  */
@@ -202,25 +249,22 @@
 GNUNET_PSYCSTORE_message_get (struct GNUNET_PSYCSTORE_Handle *h,
                               const struct GNUNET_CRYPTO_EccPublicKey 
*channel_key,
                               uint64_t message_id,
-                              GNUNET_PSYCSTORE_FragmentResultCallback rcb,
-                              void *rcb_cls);
+                              GNUNET_PSYCSTORE_FragmentCallback cb,
+                              void *cb_cls);
 
 
 /** 
- * Modify the channel state.
+ * Apply modifiers of a message to the current channel state.
  *
- * Applies the operation to the current channel state.
- *
  * An error is returned if there are missing messages containing state
  * operations before the current one.
  *
  * @param h Handle for the PSYCstore.
  * @param channel_key The channel we are interested in.
- * @param message_id ID of the message that contains this state modifier.
- * @param oper Operation to perform.
- * @param name Name of variable.
- * @param value_size Size of @a value.
- * @param value Value of variable.
+ * @param message_id ID of the message that contains the @a modifiers.
+ * @param state_delta Value of the _state_delta PSYC header variable of the 
message.
+ * @param modifier_count Number of elements in the @a modifiers array.
+ * @param modifiers List of modifiers to apply.
  * @param rcb Callback to call with the result of the operation.
  * @param rcb_cls Closure for the callback.
  * 
@@ -230,37 +274,58 @@
 GNUNET_PSYCSTORE_state_modify (struct GNUNET_PSYCSTORE_Handle *h,
                                const struct GNUNET_CRYPTO_EccPublicKey 
*channel_key,
                                uint64_t message_id,
-                               enum GNUNET_ENV_Operator *oper,
-                               const char *name,
-                               size_t value_size,
-                               const void *value,
+                               uint64_t state_delta,
+                               size_t modifier_count,
+                               const struct GNUNET_ENV_Modifier *modifiers,
                                GNUNET_PSYCSTORE_ResultCallback rcb,
                                void *rcb_cls);
 
 
 /** 
+ * Update signed values of state variables in the state store.
+ *
+ * @param h Handle for the PSYCstore.
+ * @param channel_key The channel we are interested in.
+ * @param message_id Message ID that contained the state @a hash.
+ * @param hash Hash of the serialized full state.
+ * @param rcb Callback to call with the result of the operation.
+ * @param rcb_cls Closure for the callback.
+ *
+ */
+struct GNUNET_PSYCSTORE_OperationHandle *
+GNUNET_PSYCSTORE_state_hash_update (struct GNUNET_PSYCSTORE_Handle *h,
+                                    const struct GNUNET_CRYPTO_EccPublicKey 
*channel_key,
+                                    uint64_t message_id,
+                                    const struct GNUNET_HashCode *hash,
+                                    GNUNET_PSYCSTORE_ResultCallback rcb,
+                                    void *rcb_cls);
+
+
+/** 
  * Function called with the value of a state variable.
  *
  * @param cls Closure.
- * @param name Name of variable.
- * @param size Size of @a value.
- * @param value Value of variable.
+ * @param name Name of the state variable.  A NULL value indicates that there 
are no more
+ *        state variables to be returned.
+ * @param value_size Number of bytes in @a value.
+ * @param value Value of the state variable.
 t * 
  */
-typedef void (*GNUNET_PSYCSTORE_StateResultCallback)(void *cls,
-                                                     const char *name,
-                                                     size_t size,
-                                                     const void *value);
+typedef void
+(*GNUNET_PSYCSTORE_StateCallback) (void *cls,
+                                   const char *name,
+                                   size_t value_size,
+                                   const void *value);
 
 
 /** 
- * Retrieve the given state variable for a channel.
+ * Retrieve the best matching state variable.
  *
  * @param h Handle for the PSYCstore.
  * @param channel_key The channel we are interested in.
- * @param name Name of variable to get.
- * @param rcb Callback to call with the result.
- * @param rcb_cls Closure for the callback.
+ * @param name Name of variable to match, the returned variable might be less 
specific.
+ * @param cb Callback to return matching state variables.
+ * @param cb_cls Closure for the callback.
  * 
  * @return Handle that can be used to cancel the operation.
  */
@@ -268,25 +333,27 @@
 GNUNET_PSYCSTORE_state_get (struct GNUNET_PSYCSTORE_Handle *h,
                             const struct GNUNET_CRYPTO_EccPublicKey 
*channel_key,
                             const char *name,
-                            GNUNET_PSYCSTORE_StateResultCallback rcb,
-                            void *rcb_cls);
+                            GNUNET_PSYCSTORE_StateCallback cb,
+                            void *cb_cls);
 
 
 /** 
- * Retrieve all state variables for a channel.
+ * Retrieve all state variables for a channel with the given prefix.
  *
  * @param h Handle for the PSYCstore.
  * @param channel_key The channel we are interested in.
- * @param rcb Callback to call with the result.
- * @param rcb_cls Closure for the callback.
+ * @param name_prefix Prefix of state variable names to match.
+ * @param cb Callback to return matching state variables.
+ * @param cb_cls Closure for the callback.
  * 
  * @return Handle that can be used to cancel the operation.
  */
 struct GNUNET_PSYCSTORE_OperationHandle *
 GNUNET_PSYCSTORE_state_get_all (struct GNUNET_PSYCSTORE_Handle *h,
                                 const struct GNUNET_CRYPTO_EccPublicKey 
*channel_key,
-                                GNUNET_PSYCSTORE_StateResultCallback rcb,
-                                void *rcb_cls);
+                                const char *name_prefix,
+                                GNUNET_PSYCSTORE_StateCallback cb,
+                                void *cb_cls);
 
 
 /** 

Modified: gnunet/src/include/gnunet_social_service.h
===================================================================
--- gnunet/src/include/gnunet_social_service.h  2013-08-15 09:34:28 UTC (rev 
28642)
+++ gnunet/src/include/gnunet_social_service.h  2013-08-15 10:09:33 UTC (rev 
28643)
@@ -300,7 +300,7 @@
  * Suitable, for example, to be used with GNUNET_NAMESTORE_zone_to_name().
  *
  * @param nym Pseudonym to map to a cryptographic identifier.
- * @param[out] identity Set to the public key of the nym.
+ * @param[out] nym_key Set to the public key of the nym.
  */
 void
 GNUNET_SOCIAL_nym_get_key (struct GNUNET_SOCIAL_Nym *nym,
@@ -342,7 +342,7 @@
    * New objects can be still added to the now empty home using the @e env
    * parameter of the same announcement.
    */
-  GNUNET_SOCIAL_ANNOUNCEMENT_CLEAR_OBJECTS = 1 << 0,
+  GNUNET_SOCIAL_ANNOUNCEMENT_CLEAR_OBJECTS = 1 << 0
 };
 
 




reply via email to

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