X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finclude%2Fgnunet_datastore_service.h;h=721963bddf194fe412a298915c035a56b7531236;hb=f315953dd3ec50b6cf6482834b6403680238d9da;hp=584537f39cc9ffadea4ca5f10568eae741aab156;hpb=6fd3e715cae09fa6e657c96f1c6f9711ee51f42f;p=oweals%2Fgnunet.git diff --git a/src/include/gnunet_datastore_service.h b/src/include/gnunet_datastore_service.h index 584537f39..721963bdd 100644 --- a/src/include/gnunet_datastore_service.h +++ b/src/include/gnunet_datastore_service.h @@ -63,9 +63,8 @@ struct GNUNET_DATASTORE_Handle; * @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); /** @@ -75,7 +74,8 @@ struct GNUNET_DATASTORE_Handle *GNUNET_DATASTORE_connect (const struct * @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); /** @@ -86,10 +86,14 @@ 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); @@ -112,21 +116,13 @@ typedef void (*GNUNET_DATASTORE_ContinuationWithStatus) (void *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_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); /** @@ -155,29 +151,17 @@ struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_reserve (struct * 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 struct 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); /** @@ -201,24 +185,13 @@ struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_put (struct * 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); /** @@ -238,23 +211,15 @@ struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_release_reserve (struct * 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); /** @@ -278,23 +243,14 @@ struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_update (struct * 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 struct 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); /** @@ -312,7 +268,7 @@ struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_remove (struct * maybe 0 if no unique identifier is available */ typedef void (*GNUNET_DATASTORE_DatumProcessor) (void *cls, - const GNUNET_HashCode * key, + const struct GNUNET_HashCode * key, size_t size, const void *data, enum GNUNET_BLOCK_Type type, uint32_t priority, @@ -336,32 +292,20 @@ typedef void (*GNUNET_DATASTORE_DatumProcessor) (void *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 struct 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); /** @@ -388,27 +332,15 @@ struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_get_key (struct * @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); /** @@ -430,32 +362,24 @@ struct GNUNET_DATASTORE_QueueEntry *GNUNET_DATASTORE_get_zero_anonymity (struct * @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 */