|
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) |