multicast: removed replay cancellation as responses are limited
[oweals/gnunet.git] / src / include / gnunet_psyc_service.h
index 92397ec2e70761384b41452fd391654dd6f53452..80404f837394ec36e9b5c4ffff88e960c66880d9 100644 (file)
@@ -220,7 +220,8 @@ struct GNUNET_PSYC_Message
 /**
  * Header of a PSYC message.
  *
- * Only present when receiving a message.
+ * The PSYC service adds this when delivering the message to local clients,
+ * not present on the multicast layer.
  */
 struct GNUNET_PSYC_MessageHeader
 {
@@ -536,11 +537,18 @@ typedef void
 /**
  * Method called from PSYC upon receiving part of a message.
  *
- * @param cls  Closure.
- * @param message_id  Sequence number of the message.
- * @param data_offset  Byte offset of data, only set if @a msg has a type
- *                     #GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_DATA
- * @param flags  OR'ed GNUNET_PSYC_MessageFlags
+ * @param cls
+ *        Closure.
+ * @param slave_key
+ *        Public key of the slave sending the message.
+ *        Only set for channel master.
+ * @param message_id
+ *        Sequence number of the message.
+ * @param flags
+ *        OR'ed GNUNET_PSYC_MessageFlags
+ * @param data_offset
+ *        Byte offset of data, only set if @a msg has a type
+ *        #GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_DATA
  * @param msg  Message part, one of the following types:
  * - #GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_HEADER
  * - #GNUNET_MESSAGE_TYPE_PSYC_MESSAGE_METHOD
@@ -551,19 +559,24 @@ typedef void
  */
 typedef void
 (*GNUNET_PSYC_MessagePartCallback) (void *cls,
+                                    const struct GNUNET_CRYPTO_EcdsaPublicKey *slave_key,
                                     uint64_t message_id,
-                                    uint64_t data_offset,
                                     uint32_t flags,
+                                    uint64_t data_offset,
                                     const struct GNUNET_MessageHeader *msg);
 
 
 /**
  * Method called from PSYC upon receiving a join request.
  *
- * @param cls  Closure.
- * @param slave_key  Public key of the slave requesting join.
- * @param join_msg  Join message sent along with the request.
- * @param jh  Join handle to use with GNUNET_PSYC_join_decision()
+ * @param cls
+ *        Closure.
+ * @param slave_key
+ *        Public key of the slave requesting join.
+ * @param join_msg
+ *        Join message sent along with the request.
+ * @param jh
+ *        Join handle to use with GNUNET_PSYC_join_decision()
  */
 typedef void
 (*GNUNET_PSYC_JoinRequestCallback) (void *cls,
@@ -1193,17 +1206,30 @@ GNUNET_PSYC_channel_history_replay_cancel (struct GNUNET_PSYC_Channel *channel,
 /**
  * Function called to inform a member about stored state values for a channel.
  *
- * @param cls Closure.
- * @param name Name of the state variable.  A NULL value indicates that there
- *        are no more state variables to be returned.
- * @param value Value of the state variable.
- * @param value_size Number of bytes in @a value.
+ * If @a full_value_size > value_size then this function is called multiple
+ * times until the whole value arrived.
+ *
+ * @param cls
+ *        Closure.
+ * @param name
+ *        Name of the state variable.
+ *        NULL if there are no more state variables to be returned.
+ * @param value
+ *        Value of the state variable.
+ * @param value_size
+ *        Number of bytes in @a value.
+ * @param full_value_size
+ *        Number of bytes in the full value, including continuations.
+ *        Only set for the first part of a variable,
+ *        in case of a continuation it is 0.
  */
 typedef void
 (*GNUNET_PSYC_StateVarCallback) (void *cls,
+                                 const struct GNUNET_MessageHeader *mod,
                                  const char *name,
                                  const void *value,
-                                 size_t value_size);
+                                 uint32_t value_size,
+                                 uint32_t full_value_size);
 
 
 /**