GNUnet 0.24.4-talerdev.1-12-g8362a9920
 
Loading...
Searching...
No Matches
gnunet_datastore_plugin.h File Reference

API for the database backend plugins. More...

Include dependency graph for gnunet_datastore_plugin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  GNUNET_DATASTORE_PluginEnvironment
 The datastore service will pass a pointer to a struct of this type as the first and only argument to the entry point of each datastore plugin. More...
 
struct  GNUNET_DATASTORE_PluginFunctions
 Each plugin is required to return a pointer to a struct of this type as the return value from its entry point. More...
 

Macros

#define GNUNET_DATASTORE_ENTRY_OVERHEAD   256
 How many bytes of overhead will we assume per entry in any DB (for reservations)?
 

Typedefs

typedef void(* GNUNET_DATASTORE_DiskUtilizationChange) (void *cls, int delta)
 Function invoked to notify service of disk utilization changes.
 
typedef enum GNUNET_GenericReturnValue(* PluginDatumProcessor) (void *cls, const struct GNUNET_HashCode *key, uint32_t size, const void *data, enum GNUNET_BLOCK_Type type, uint32_t priority, uint32_t anonymity, uint32_t replication, struct GNUNET_TIME_Absolute expiration, uint64_t uid)
 An processor over a set of items stored in the datastore.
 
typedef void(* PluginEstimateSize) (void *cls, unsigned long long *estimate)
 Get an estimate of how much space the database is currently using.
 
typedef void(* PluginPutCont) (void *cls, const struct GNUNET_HashCode *key, uint32_t size, int status, const char *msg)
 Put continuation.
 
typedef void(* PluginPut) (void *cls, const struct GNUNET_HashCode *key, bool absent, uint32_t size, const void *data, enum GNUNET_BLOCK_Type type, uint32_t priority, uint32_t anonymity, uint32_t replication, struct GNUNET_TIME_Absolute expiration, PluginPutCont cont, void *cont_cls)
 Store an item in the datastore.
 
typedef void(* PluginKeyProcessor) (void *cls, const struct GNUNET_HashCode *key, unsigned int count)
 An processor over a set of keys stored in the datastore.
 
typedef void(* PluginGetKeys) (void *cls, PluginKeyProcessor proc, void *proc_cls)
 Get all of the keys in the datastore.
 
typedef void(* PluginGetKey) (void *cls, uint64_t next_uid, bool random, const struct GNUNET_HashCode *key, enum GNUNET_BLOCK_Type type, PluginDatumProcessor proc, void *proc_cls)
 Get one of the results for a particular key in the datastore.
 
typedef void(* PluginRemoveCont) (void *cls, const struct GNUNET_HashCode *key, uint32_t size, int status, const char *msg)
 Remove continuation.
 
typedef void(* PluginRemoveKey) (void *cls, const struct GNUNET_HashCode *key, uint32_t size, const void *data, PluginRemoveCont cont, void *cont_cls)
 Remove a particular key in the datastore.
 
typedef void(* PluginGetRandom) (void *cls, PluginDatumProcessor proc, void *proc_cls)
 Get a random item (additional constraints may apply depending on the specific implementation).
 
typedef void(* PluginGetType) (void *cls, uint64_t next_uid, enum GNUNET_BLOCK_Type type, PluginDatumProcessor proc, void *proc_cls)
 Select a single item from the datastore (among those applicable).
 
typedef void(* PluginDrop) (void *cls)
 Drop database.
 

Detailed Description

API for the database backend plugins.

Definition in file gnunet_datastore_plugin.h.