* @param cfg configuration to use
* @return handle to use to access the service
*/
-struct GNUNET_DATASTORE_Handle *GNUNET_DATASTORE_connect (const struct
- GNUNET_CONFIGURATION_Handle
- *cfg);
+struct GNUNET_DATASTORE_Handle *
+GNUNET_DATASTORE_connect (const struct GNUNET_CONFIGURATION_Handle *cfg);
/**
* @param h handle to the datastore
* @param drop set to GNUNET_YES to delete all data in datastore (!)
*/
-void GNUNET_DATASTORE_disconnect (struct GNUNET_DATASTORE_Handle *h, int drop);
+void
+GNUNET_DATASTORE_disconnect (struct GNUNET_DATASTORE_Handle *h, int drop);
/**
* @param success GNUNET_SYSERR on failure (including timeout/queue drop)
* GNUNET_NO if content was already there
* GNUNET_YES (or other positive value) on success
+ * @param min_expiration minimum expiration time required for 0-priority content to be stored
+ * by the datacache at this time, zero for unknown, forever if we have no
+ * space for 0-priority content
* @param msg NULL on success, otherwise an error message
*/
typedef void (*GNUNET_DATASTORE_ContinuationWithStatus) (void *cls,
int32_t success,
+ struct GNUNET_TIME_Absolute min_expiration,
const char *msg);
* cancel; note that even if NULL is returned, the callback will be invoked
* (or rather, will already have been invoked)
*/
-struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_reserve (struct
- GNUNET_DATASTORE_Handle
- *h,
- uint64_t amount,
- uint32_t entries,
- unsigned int
- queue_priority,
- unsigned int
- max_queue_size,
- struct
- GNUNET_TIME_Relative
- timeout,
- GNUNET_DATASTORE_ContinuationWithStatus
- cont,
- void *cont_cls);
+struct GNUNET_DATASTORE_QueueEntry *
+GNUNET_DATASTORE_reserve (struct GNUNET_DATASTORE_Handle *h, uint64_t amount,
+ uint32_t entries, unsigned int queue_priority,
+ unsigned int max_queue_size,
+ struct GNUNET_TIME_Relative timeout,
+ GNUNET_DATASTORE_ContinuationWithStatus cont,
+ void *cont_cls);
/**
* cancel; note that even if NULL is returned, the callback will be invoked
* (or rather, will already have been invoked)
*/
-struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_put (struct
- GNUNET_DATASTORE_Handle
- *h, uint32_t rid,
- const GNUNET_HashCode
- * key, size_t size,
- const void *data,
- enum GNUNET_BLOCK_Type
- type,
- uint32_t priority,
- uint32_t anonymity,
- uint32_t replication,
- struct
- GNUNET_TIME_Absolute
- expiration,
- unsigned int
- queue_priority,
- unsigned int
- max_queue_size,
- struct
- GNUNET_TIME_Relative
- timeout,
- GNUNET_DATASTORE_ContinuationWithStatus
- cont, void *cont_cls);
+struct GNUNET_DATASTORE_QueueEntry *
+GNUNET_DATASTORE_put (struct GNUNET_DATASTORE_Handle *h, uint32_t rid,
+ const GNUNET_HashCode * key, size_t size,
+ const void *data, enum GNUNET_BLOCK_Type type,
+ uint32_t priority, uint32_t anonymity,
+ uint32_t replication,
+ struct GNUNET_TIME_Absolute expiration,
+ unsigned int queue_priority, unsigned int max_queue_size,
+ struct GNUNET_TIME_Relative timeout,
+ GNUNET_DATASTORE_ContinuationWithStatus cont,
+ void *cont_cls);
/**
* cancel; note that even if NULL is returned, the callback will be invoked
* (or rather, will already have been invoked)
*/
-struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_release_reserve (struct
- GNUNET_DATASTORE_Handle
- *h,
- uint32_t
- rid,
- unsigned
- int
- queue_priority,
- unsigned
- int
- max_queue_size,
- struct
- GNUNET_TIME_Relative
- timeout,
- GNUNET_DATASTORE_ContinuationWithStatus
- cont,
- void
- *cont_cls);
+struct GNUNET_DATASTORE_QueueEntry *
+GNUNET_DATASTORE_release_reserve (struct GNUNET_DATASTORE_Handle *h,
+ uint32_t rid, unsigned int queue_priority,
+ unsigned int max_queue_size,
+ struct GNUNET_TIME_Relative timeout,
+ GNUNET_DATASTORE_ContinuationWithStatus cont,
+ void *cont_cls);
/**
* cancel; note that even if NULL is returned, the callback will be invoked
* (or rather, will already have been invoked)
*/
-struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_update (struct
- GNUNET_DATASTORE_Handle
- *h, uint64_t uid,
- uint32_t priority,
- struct
- GNUNET_TIME_Absolute
- expiration,
- unsigned int
- queue_priority,
- unsigned int
- max_queue_size,
- struct
- GNUNET_TIME_Relative
- timeout,
- GNUNET_DATASTORE_ContinuationWithStatus
- cont,
- void *cont_cls);
+struct GNUNET_DATASTORE_QueueEntry *
+GNUNET_DATASTORE_update (struct GNUNET_DATASTORE_Handle *h, uint64_t uid,
+ uint32_t priority,
+ struct GNUNET_TIME_Absolute expiration,
+ unsigned int queue_priority,
+ unsigned int max_queue_size,
+ struct GNUNET_TIME_Relative timeout,
+ GNUNET_DATASTORE_ContinuationWithStatus cont,
+ void *cont_cls);
/**
* cancel; note that even if NULL is returned, the callback will be invoked
* (or rather, will already have been invoked)
*/
-struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_remove (struct
- GNUNET_DATASTORE_Handle
- *h,
- const
- GNUNET_HashCode *
- key, size_t size,
- const void *data,
- unsigned int
- queue_priority,
- unsigned int
- max_queue_size,
- struct
- GNUNET_TIME_Relative
- timeout,
- GNUNET_DATASTORE_ContinuationWithStatus
- cont,
- void *cont_cls);
+struct GNUNET_DATASTORE_QueueEntry *
+GNUNET_DATASTORE_remove (struct GNUNET_DATASTORE_Handle *h,
+ const GNUNET_HashCode * key, size_t size,
+ const void *data, unsigned int queue_priority,
+ unsigned int max_queue_size,
+ struct GNUNET_TIME_Relative timeout,
+ GNUNET_DATASTORE_ContinuationWithStatus cont,
+ void *cont_cls);
/**
* @param max_queue_size at what queue size should this request be dropped
* (if other requests of higher priority are in the queue)
* @param timeout how long to wait at most for a response
- * @param proc function to call on each matching value;
- * will be called once with a NULL value at the end
+ * @param proc function to call on a matching value;
+ * or with a NULL value if no datum matches
* @param proc_cls closure for proc
* @return NULL if the entry was not queued, otherwise a handle that can be used to
* cancel
*/
-struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_get_key (struct
- GNUNET_DATASTORE_Handle
- *h,
- uint64_t offset,
- const
- GNUNET_HashCode *
- key,
- enum
- GNUNET_BLOCK_Type
- type,
- unsigned int
- queue_priority,
- unsigned int
- max_queue_size,
- struct
- GNUNET_TIME_Relative
- timeout,
- GNUNET_DATASTORE_DatumProcessor
- proc,
- void *proc_cls);
+struct GNUNET_DATASTORE_QueueEntry *
+GNUNET_DATASTORE_get_key (struct GNUNET_DATASTORE_Handle *h, uint64_t offset,
+ const GNUNET_HashCode * key,
+ enum GNUNET_BLOCK_Type type,
+ unsigned int queue_priority,
+ unsigned int max_queue_size,
+ struct GNUNET_TIME_Relative timeout,
+ GNUNET_DATASTORE_DatumProcessor proc, void *proc_cls);
/**
* @return NULL if the entry was not queued, otherwise a handle that can be used to
* cancel
*/
-struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_get_zero_anonymity (struct
- GNUNET_DATASTORE_Handle
- *h,
- uint64_t
- offset,
- unsigned
- int
- queue_priority,
- unsigned
- int
- max_queue_size,
- struct
- GNUNET_TIME_Relative
- timeout,
- enum
- GNUNET_BLOCK_Type
- type,
- GNUNET_DATASTORE_DatumProcessor
- proc,
- void
- *proc_cls);
+struct GNUNET_DATASTORE_QueueEntry *
+GNUNET_DATASTORE_get_zero_anonymity (struct GNUNET_DATASTORE_Handle *h,
+ uint64_t offset,
+ unsigned int queue_priority,
+ unsigned int max_queue_size,
+ struct GNUNET_TIME_Relative timeout,
+ enum GNUNET_BLOCK_Type type,
+ GNUNET_DATASTORE_DatumProcessor proc,
+ void *proc_cls);
/**
* @return NULL if the entry was not queued, otherwise a handle that can be used to
* cancel
*/
-struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_get_for_replication (struct
- GNUNET_DATASTORE_Handle
- *h,
- unsigned
- int
- queue_priority,
- unsigned
- int
- max_queue_size,
- struct
- GNUNET_TIME_Relative
- timeout,
- GNUNET_DATASTORE_DatumProcessor
- proc,
- void
- *proc_cls);
+struct GNUNET_DATASTORE_QueueEntry *
+GNUNET_DATASTORE_get_for_replication (struct GNUNET_DATASTORE_Handle *h,
+ unsigned int queue_priority,
+ unsigned int max_queue_size,
+ struct GNUNET_TIME_Relative timeout,
+ GNUNET_DATASTORE_DatumProcessor proc,
+ void *proc_cls);
/**
* Cancel a datastore operation. The final callback from the
* operation must not have been done yet.
- *
+ *
* @param qe operation to cancel
*/
-void GNUNET_DATASTORE_cancel (struct GNUNET_DATASTORE_QueueEntry *qe);
+void
+GNUNET_DATASTORE_cancel (struct GNUNET_DATASTORE_QueueEntry *qe);
#if 0 /* keep Emacsens' auto-indent happy */