25#ifndef SRC_XRDEC_XRDECCONFIG_HH_
26#define SRC_XRDEC_XRDECCONFIG_HH_
32#include <unordered_map>
58 key += std::to_string( objcfg.
nbchunks );
60 key += std::to_string( objcfg.
nbparity );
62 key += std::to_string( uint8_t( objcfg.
datasize ) );
64 std::unique_lock<std::mutex> lck(
mtx );
69 std::forward_as_tuple(key),
70 std::forward_as_tuple(objcfg) );
71 return p.first->second;
Class for computing parities and recovering data.
Global configuration for the EC module.
Definition XrdEcConfig.hh:40
Config()
Constructor.
Definition XrdEcConfig.hh:87
Config & operator=(const Config &)=delete
bool enable_plugins
Definition XrdEcConfig.hh:77
std::unordered_map< std::string, RedundancyProvider > redundancies
Definition XrdEcConfig.hh:81
Config & operator=(Config &&)=delete
Config(const Config &)=delete
std::mutex mtx
Definition XrdEcConfig.hh:82
static Config & Instance()
Singleton access.
Definition XrdEcConfig.hh:46
RedundancyProvider & GetRedundancy(const ObjCfg &objcfg)
Get redundancy provider for given data object configuration.
Definition XrdEcConfig.hh:55
Definition XrdEcRedundancyProvider.hh:41
Definition XrdClZipArchive.hh:45
Definition XrdEcObjCfg.hh:34
const uint8_t nbchunks
Definition XrdEcObjCfg.hh:85
const uint8_t nbparity
Definition XrdEcObjCfg.hh:86
const uint64_t datasize
Definition XrdEcObjCfg.hh:88