* Salt to use for the operation.
*/
uint32_t salt;
-
+
/**
* Remote peers element count
*/
uint32_t remote_element_count;
/**
- * ID used to identify an operation between service and client
+ * ID used to identify an operation between service and client
*/
uint32_t client_request_id;
/**
* GNUNET_YES if the element is a remote element, and does not belong
* to the operation's set.
- *
+ *
* //TODO: Move to Union, unless additional set-operations are implemented ever
*/
int remote;
/**
* V-Table for the operation belonging
* to the tunnel contest.
- *
+ *
* Used for all operation specific operations after receiving the ops request
*/
const struct SetVT *vt;
/**
* GNUNET_YES if this is not a "real" set operation yet, and we still
* need to wait for the other peer to give us more details.
- *
- * //TODO: replace with state-enum
*/
int is_incoming;
* a linked list.
*/
struct Operation *prev;
+
+ /**
+ * Set to GNUNET_YES if the set service should not free
+ * the operation, as it is still needed (e.g. in some scheduled task).
+ */
+ int keep;
};
/**
* Virtual table for this set.
* Determined by the operation type of this set.
- *
- * Used only for Add/remove of elements and when receiving an incoming
+ *
+ * Used only for Add/remove of elements and when receiving an incoming
* operation from a remote peer.
*/
const struct SetVT *vt;
/**
* Get the table with implementing functions for
* set union.
- *
+ *
* @return the operation specific VTable
*/
const struct SetVT *
/**
* Get the table with implementing functions for
* set intersection.
- *
+ *
* @return the operation specific VTable
*/
const struct SetVT *