GNUNET_PSYC_CHANNEL_RESTRICTED_HISTORY = 1 << 1
};
+
/**
* PSYC channel policies.
*/
GNUNET_PSYC_MESSAGE_REQUEST = 1 << 1
};
+
GNUNET_NETWORK_STRUCT_BEGIN
/**
/**
* Number of the message this message part belongs to.
+ * Monotonically increasing from 1.
*/
uint64_t message_id GNUNET_PACKED;
GNUNET_NETWORK_STRUCT_END
+
#define GNUNET_PSYC_MODIFIER_MAX_PAYLOAD \
GNUNET_MULTICAST_FRAGMENT_MAX_PAYLOAD \
- sizeof (struct GNUNET_PSYC_MessageModifier)
GNUNET_MULTICAST_FRAGMENT_MAX_PAYLOAD \
- sizeof (struct GNUNET_MessageHeader)
+
/**
* Handle that identifies a join request.
*
* Function called after the channel master started.
*
* @param cls Closure.
- * @param last_message_id Last message ID sent to the channel.
+ * @param max_message_id Last message ID sent to the channel.
*/
typedef void
(*GNUNET_PSYC_MasterStartCallback) (void *cls, uint64_t max_message_id);
* contain: "name\0value". If the whole value does not fit, subsequent
* calls to this function should write continuations of the value to
* @a data.
- * @param oper Where to write the operator of the modifier. Only needed during
- * the first call to this callback at the beginning of the modifier.
- * In case of subsequent calls asking for value continuations @a oper is
- * set to #NULL.
+ * @param[out] oper Where to write the operator of the modifier.
+ * Only needed during the first call to this callback at the beginning
+ * of the modifier. In case of subsequent calls asking for value
+ * continuations @a oper is set to #NULL.
+ * @param[out] value_size Where to write the full size of the value.
+ * Only needed during the first call to this callback at the beginning
+ * of the modifier. In case of subsequent calls asking for value
+ * continuations @a value_size is set to #NULL.
* @return #GNUNET_SYSERR on error (fatal, aborts transmission)
* #GNUNET_NO on success, if more data is to be transmitted later.
* Should be used if @a data_size was not big enough to take all the
(*GNUNET_PSYC_TransmitNotifyModifier) (void *cls,
uint16_t *data_size,
void *data,
- uint8_t *oper);
+ uint8_t *oper,
+ uint32_t *value_size);
/**
* Flags for transmitting messages to a channel by the master.
* @param th Handle of the request that is being resumed.
*/
void
-GNUNET_PSYC_slave_transmit_resume (struct GNUNET_PSYC_MasterTransmitHandle *th);
+GNUNET_PSYC_slave_transmit_resume (struct GNUNET_PSYC_SlaveTransmitHandle *th);
/**