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)? | |
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. | |
API for the database backend plugins.
Definition in file gnunet_datastore_plugin.h.