#include <StorageFactory.h>
Public Types | |
enum | CacheHint { CACHE_HINT_APPLICATION, CACHE_HINT_STORAGE, CACHE_HINT_LAZY_DOWNLOAD, CACHE_HINT_AUTO_DETECT } |
enum | ReadHint { READ_HINT_UNBUFFERED, READ_HINT_READAHEAD, READ_HINT_AUTO } |
Public Member Functions | |
bool | accounting (void) const |
CacheHint | cacheHint (void) const |
bool | check (const std::string &url, IOOffset *size=0) const |
unsigned int | debugLevel (void) const |
bool | enableAccounting (bool enabled) |
std::unique_ptr< Storage > | open (const std::string &url, int mode=IOFlags::OpenRead) const |
ReadHint | readHint (void) const |
void | setCacheHint (CacheHint value) |
void | setDebugLevel (unsigned int level) |
void | setReadHint (ReadHint value) |
void | setTempDir (const std::string &s, double minFreeSpace) |
void | setTimeout (unsigned int timeout) |
void | stagein (const std::string &url) const |
std::string | tempDir (void) const |
double | tempMinFree (void) const |
std::string | tempPath (void) const |
unsigned int | timeout (void) const |
std::unique_ptr< Storage > | wrapNonLocalFile (std::unique_ptr< Storage > s, const std::string &proto, const std::string &path, int mode) const |
~StorageFactory (void) | |
Static Public Member Functions | |
static const StorageFactory * | get (void) |
static StorageFactory * | getToModify (void) |
Private Types | |
typedef tbb::concurrent_unordered_map < std::string, std::shared_ptr < StorageMaker > > | MakerTable |
Private Member Functions | |
StorageMaker * | getMaker (const std::string &proto) const |
StorageMaker * | getMaker (const std::string &url, std::string &protocol, std::string &rest) const |
StorageFactory (void) | |
Private Attributes | |
bool | m_accounting |
CacheHint | m_cacheHint |
unsigned int | m_debugLevel |
LocalFileSystem | m_lfs |
MakerTable | m_makers |
ReadHint | m_readHint |
std::string | m_tempdir |
double | m_tempfree |
std::string | m_temppath |
unsigned int | m_timeout |
std::string | m_unusableDirWarnings |
Static Private Attributes | |
static StorageFactory | s_instance |
Definition at line 13 of file StorageFactory.h.
|
private |
Definition at line 71 of file StorageFactory.h.
Enumerator | |
---|---|
CACHE_HINT_APPLICATION | |
CACHE_HINT_STORAGE | |
CACHE_HINT_LAZY_DOWNLOAD | |
CACHE_HINT_AUTO_DETECT |
Definition at line 16 of file StorageFactory.h.
Enumerator | |
---|---|
READ_HINT_UNBUFFERED | |
READ_HINT_READAHEAD | |
READ_HINT_AUTO |
Definition at line 24 of file StorageFactory.h.
StorageFactory::~StorageFactory | ( | void | ) |
Definition at line 25 of file StorageFactory.cc.
|
private |
Definition at line 13 of file StorageFactory.cc.
References m_tempfree, m_temppath, and setTempDir().
bool StorageFactory::accounting | ( | void | ) | const |
Definition at line 46 of file StorageFactory.cc.
References m_accounting.
Referenced by wrapNonLocalFile().
StorageFactory::CacheHint StorageFactory::cacheHint | ( | void | ) | const |
Definition at line 54 of file StorageFactory.cc.
References m_cacheHint.
Referenced by LocalStorageMaker::open(), DCacheStorageMaker::open(), XrdStorageMaker::open(), StormStorageMaker::open(), StormLcgGtStorageMaker::open(), RFIOStorageMaker::open(), TStorageFactoryFile::ReadBufferAsync(), and wrapNonLocalFile().
bool StorageFactory::check | ( | const std::string & | url, |
IOOffset * | size = 0 |
||
) | const |
Definition at line 239 of file StorageFactory.cc.
References StorageAccount::check, StorageAccount::counter(), cms::Exception::explainSelf(), getMaker(), m_accounting, m_debugLevel, m_timeout, run_regression::ret, StorageMaker::AuxSettings::setDebugLevel(), StorageMaker::AuxSettings::setTimeout(), findQualityFiles::size, AlCaHLTBitMon_QueryRunRegistry::string, and StorageAccount::tokenForStorageClassName().
Referenced by TStorageFactorySystem::AccessPathName().
unsigned int StorageFactory::debugLevel | ( | void | ) | const |
bool StorageFactory::enableAccounting | ( | bool | enabled | ) |
Definition at line 38 of file StorageFactory.cc.
References m_accounting.
Referenced by PixelSLinkDataInputSource::PixelSLinkDataInputSource(), and TFileAdaptor::TFileAdaptor().
|
static |
Definition at line 30 of file StorageFactory.cc.
References s_instance.
Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), TStorageFactorySystem::AccessPathName(), lhef::LHEReader::FileSource::FileSource(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), TStorageFactorySystem::GetPathInfo(), betterConfigParser.BetterConfigParser::getResultingSection(), TStorageFactoryFile::Initialize(), HttpStorageMaker::open(), GsiFTPStorageMaker::open(), LocalStorageMaker::open(), DCacheStorageMaker::open(), XrdStorageMaker::open(), StormStorageMaker::open(), StormLcgGtStorageMaker::open(), RFIOStorageMaker::open(), edm::StreamerInputFile::openStreamerFile(), PixelSLinkDataInputSource::PixelSLinkDataInputSource(), TStorageFactoryFile::ReadBufferAsync(), edm::RootPrimaryFileSequence::RootPrimaryFileSequence(), edm::RootSecondaryFileSequence::RootSecondaryFileSequence(), and TStorageFactoryFile::SysOpen().
|
private |
Definition at line 134 of file StorageFactory.cc.
References edmplugin::standard::config(), edmplugin::PluginManager::configure(), reco::get(), instance, edmplugin::PluginManager::isAvailable(), and m_makers.
Referenced by check(), getMaker(), open(), and stagein().
|
private |
Definition at line 151 of file StorageFactory.cc.
References getMaker(), AlCaHLTBitMon_ParallelJobs::p, and relmon_authenticated_wget::url.
|
static |
Definition at line 34 of file StorageFactory.cc.
References s_instance.
Referenced by PixelSLinkDataInputSource::PixelSLinkDataInputSource(), and TFileAdaptor::TFileAdaptor().
std::unique_ptr< Storage > StorageFactory::open | ( | const std::string & | url, |
int | mode = IOFlags::OpenRead |
||
) | const |
Definition at line 171 of file StorageFactory.cc.
References cms::Exception::addAdditionalInfo(), cms::Exception::addContext(), cms::Exception::clearMessage(), StorageAccount::counter(), getMaker(), m_accounting, m_debugLevel, m_timeout, cms::Exception::message(), eostools::move(), StorageAccount::open, run_regression::ret, StorageMaker::AuxSettings::setDebugLevel(), StorageMaker::AuxSettings::setTimeout(), AlCaHLTBitMon_QueryRunRegistry::string, and StorageAccount::tokenForStorageClassName().
Referenced by lhef::LHEReader::FileSource::FileSource(), edm::StreamerInputFile::openStreamerFile(), and PixelSLinkDataInputSource::PixelSLinkDataInputSource().
StorageFactory::ReadHint StorageFactory::readHint | ( | void | ) | const |
Definition at line 62 of file StorageFactory.cc.
References m_readHint.
Referenced by LocalStorageMaker::open(), DCacheStorageMaker::open(), XrdStorageMaker::open(), StormStorageMaker::open(), StormLcgGtStorageMaker::open(), and RFIOStorageMaker::open().
void StorageFactory::setCacheHint | ( | CacheHint | value | ) |
Definition at line 50 of file StorageFactory.cc.
References m_cacheHint, and relativeConstraints::value.
Referenced by TFileAdaptor::TFileAdaptor().
void StorageFactory::setDebugLevel | ( | unsigned int | level | ) |
Definition at line 74 of file StorageFactory.cc.
References testEve_cfg::level, and m_debugLevel.
Referenced by TFileAdaptor::TFileAdaptor().
void StorageFactory::setReadHint | ( | ReadHint | value | ) |
Definition at line 58 of file StorageFactory.cc.
References m_readHint, and relativeConstraints::value.
Referenced by TFileAdaptor::TFileAdaptor().
void StorageFactory::setTempDir | ( | const std::string & | s, |
double | minFreeSpace | ||
) |
Definition at line 82 of file StorageFactory.cc.
References begin, ecal_dqm_sourceclient-live_cfg::cerr, prof2calltree::count, heppy_check::dirs, end, LocalFileSystem::findCachePath(), m_lfs, m_tempdir, m_tempfree, m_temppath, m_unusableDirWarnings, and alignCSCRings::s.
Referenced by StorageFactory(), and TFileAdaptor::TFileAdaptor().
void StorageFactory::setTimeout | ( | unsigned int | timeout | ) |
Definition at line 66 of file StorageFactory.cc.
References m_timeout, and timeout().
Referenced by TFileAdaptor::TFileAdaptor().
void StorageFactory::stagein | ( | const std::string & | url | ) | const |
Definition at line 212 of file StorageFactory.cc.
References StorageAccount::counter(), cms::Exception::explainSelf(), getMaker(), m_accounting, m_debugLevel, m_timeout, StorageMaker::AuxSettings::setDebugLevel(), StorageMaker::AuxSettings::setTimeout(), StorageAccount::stagein, AlCaHLTBitMon_QueryRunRegistry::string, and StorageAccount::tokenForStorageClassName().
Referenced by edm::RootPrimaryFileSequence::RootPrimaryFileSequence(), and edm::RootSecondaryFileSequence::RootSecondaryFileSequence().
std::string StorageFactory::tempDir | ( | void | ) | const |
Definition at line 122 of file StorageFactory.cc.
References m_tempdir.
Referenced by GsiFTPStorageMaker::open(), and HttpStorageMaker::open().
double StorageFactory::tempMinFree | ( | void | ) | const |
Definition at line 130 of file StorageFactory.cc.
References m_tempfree.
Referenced by TFileAdaptor::TFileAdaptor().
std::string StorageFactory::tempPath | ( | void | ) | const |
Definition at line 126 of file StorageFactory.cc.
References m_temppath.
Referenced by TFileAdaptor::TFileAdaptor().
unsigned int StorageFactory::timeout | ( | void | ) | const |
std::unique_ptr< Storage > StorageFactory::wrapNonLocalFile | ( | std::unique_ptr< Storage > | s, |
const std::string & | proto, | ||
const std::string & | path, | ||
int | mode | ||
) | const |
Definition at line 269 of file StorageFactory.cc.
References accounting(), CACHE_HINT_LAZY_DOWNLOAD, cacheHint(), LocalFileSystem::isLocalPath(), m_lfs, m_tempdir, m_unusableDirWarnings, eostools::move(), IOFlags::OpenWrap, IOFlags::OpenWrite, and alignCSCRings::s.
Referenced by LocalStorageMaker::open(), DCacheStorageMaker::open(), XrdStorageMaker::open(), StormStorageMaker::open(), StormLcgGtStorageMaker::open(), and RFIOStorageMaker::open().
|
private |
Definition at line 82 of file StorageFactory.h.
Referenced by accounting(), check(), enableAccounting(), open(), and stagein().
|
private |
Definition at line 80 of file StorageFactory.h.
Referenced by cacheHint(), and setCacheHint().
|
private |
Definition at line 88 of file StorageFactory.h.
Referenced by check(), debugLevel(), open(), setDebugLevel(), and stagein().
|
private |
Definition at line 89 of file StorageFactory.h.
Referenced by setTempDir(), and wrapNonLocalFile().
|
mutableprivate |
Definition at line 79 of file StorageFactory.h.
Referenced by getMaker().
|
private |
Definition at line 81 of file StorageFactory.h.
Referenced by readHint(), and setReadHint().
|
private |
Definition at line 85 of file StorageFactory.h.
Referenced by setTempDir(), tempDir(), and wrapNonLocalFile().
|
private |
Definition at line 83 of file StorageFactory.h.
Referenced by setTempDir(), StorageFactory(), and tempMinFree().
|
private |
Definition at line 84 of file StorageFactory.h.
Referenced by setTempDir(), StorageFactory(), and tempPath().
|
private |
Definition at line 87 of file StorageFactory.h.
Referenced by check(), open(), setTimeout(), stagein(), and timeout().
|
private |
Definition at line 86 of file StorageFactory.h.
Referenced by setTempDir(), and wrapNonLocalFile().
|
staticprivate |
Definition at line 90 of file StorageFactory.h.
Referenced by get(), and getToModify().