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;
Config & operator=(const Config &)=delete
const uint64_t datasize
Definition: XrdEcObjCfg.hh:71
bool enable_plugins
Definition: XrdEcConfig.hh:77
std::mutex mtx
Definition: XrdEcConfig.hh:82
Global configuration for the EC module.
Definition: XrdEcConfig.hh:39
Definition: XrdEcRedundancyProvider.hh:41
Config()
Constructor.
Definition: XrdEcConfig.hh:87
const uint8_t nbparity
Definition: XrdEcObjCfg.hh:69
const uint8_t nbchunks
Definition: XrdEcObjCfg.hh:68
RedundancyProvider & GetRedundancy(const ObjCfg &objcfg)
Get redundancy provider for given data object configuration.
Definition: XrdEcConfig.hh:55
static Config & Instance()
Singleton access.
Definition: XrdEcConfig.hh:46
Definition: XrdEcObjCfg.hh:19
std::unordered_map< std::string, RedundancyProvider > redundancies
Definition: XrdEcConfig.hh:81
Definition: XrdClZipArchive.hh:45