API for the database backend plugins. More...
#include "gnunet_block_lib.h"
#include "gnunet_configuration_lib.h"
#include "gnunet_datastore_service.h"
#include "gnunet_statistics_service.h"
#include "gnunet_scheduler_lib.h"
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)? More... | |
Typedefs | |
typedef void(* | GNUNET_DATASTORE_DiskUtilizationChange) (void *cls, int delta) |
Function invoked to notify service of disk utilization changes. More... | |
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. More... | |
typedef void(* | PluginEstimateSize) (void *cls, unsigned long long *estimate) |
Get an estimate of how much space the database is currently using. More... | |
typedef void(* | PluginPutCont) (void *cls, const struct GNUNET_HashCode *key, uint32_t size, int status, const char *msg) |
Put continuation. More... | |
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. More... | |
typedef void(* | PluginKeyProcessor) (void *cls, const struct GNUNET_HashCode *key, unsigned int count) |
An processor over a set of keys stored in the datastore. More... | |
typedef void(* | PluginGetKeys) (void *cls, PluginKeyProcessor proc, void *proc_cls) |
Get all of the keys in the datastore. More... | |
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. More... | |
typedef void(* | PluginRemoveCont) (void *cls, const struct GNUNET_HashCode *key, uint32_t size, int status, const char *msg) |
Remove continuation. More... | |
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. More... | |
typedef void(* | PluginGetRandom) (void *cls, PluginDatumProcessor proc, void *proc_cls) |
Get a random item (additional constraints may apply depending on the specific implementation). More... | |
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). More... | |
typedef void(* | PluginDrop) (void *cls) |
Drop database. More... | |
API for the database backend plugins.
Definition in file gnunet_datastore_plugin.h.