ESDM
Middleware for Earth System Data
|
ESDM module registry that keeps track of available backends. More...
#include <esdm-internal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "backends-metadata/posix/md-posix.h"
Macros | |
#define | ESDM_HAS_MD_POSIX |
#define | DEBUG_ENTER ESDM_DEBUG_COM_FMT("MODULES", "", "") |
#define | DEBUG(fmt, ...) ESDM_DEBUG_COM_FMT("MODULES", fmt, __VA_ARGS__) |
#define | ESDM_HAS_MONDODB |
Functions | |
esdm_modules_t * | esdm_modules_init (esdm_instance_t *esdm) |
esdm_status | esdm_modules_finalize (esdm_instance_t *esdm) |
esdm_backend_t ** | esdm_modules_makeBackendRecommendation (esdm_modules_t *modules, esdm_dataspace_t *space, int64_t *out_backendCount, int64_t *out_maxFragmentSize) |
esdm_backend_t * | esdm_modules_randomWeightedBackend (esdm_modules_t *modules) |
esdm_backend_t * | esdm_modules_fastestBackend (esdm_modules_t *modules) |
esdm_status | esdm_modules_get_by_type (esdm_module_type_t type, esdm_module_type_array_t **array) |
ESDM module registry that keeps track of available backends.
esdm_backend_t* esdm_modules_fastestBackend | ( | esdm_modules_t * | modules | ) |
Get a pointer to the backend with the highest estimated throughput.
esdm_backend_t** esdm_modules_makeBackendRecommendation | ( | esdm_modules_t * | modules, |
esdm_dataspace_t * | space, | ||
int64_t * | out_moduleCount, | ||
int64_t * | out_maxFragmentSize | ||
) |
Make a recommendation on which data backend to use to store data for the given dataspace.
[in] | modules | usually esdm->modules |
[in] | space | the dataspace for which the recommendation is to be made |
[out] | out_moduleCount | returns the number of recommended backends |
[out] | out_maxFragmentSize | a max fragment size that is suitable for use with all the recommended backends (optional, may be NULL) |