9 namespace edm::storage {
16 size_t p = path.find(
"/pnfs");
18 return (proto ==
"gsidcap") ? proto +
':' + path.substr(p) : path.substr(p);
21 p = path.find_first_not_of(
'/');
24 return proto +
"://" + path.substr(p);
51 if (dc_stage(npath.c_str(), 0,
nullptr) != 0) {
53 ex <<
"Cannot stage in file '" << npath <<
"', error was: " << dc_strerror(dc_errno)
54 <<
" (dc_errno=" << dc_errno <<
")";
55 ex.
addContext(
"Calling DCacheStorageMaker::stagein()");
66 if (dc_access(testpath.c_str(), R_OK) != 0)
71 if (dc_stat64(testpath.c_str(), &
buf) != 0)
83 dc_setOpenTimeout(timeout);
88 using namespace edm::storage;
ReadHint readHint(void) const
CacheHint cacheHint(void) const
std::unique_ptr< Storage > wrapNonLocalFile(std::unique_ptr< Storage > s, const std::string &proto, const std::string &path, int mode) const
void setTimeout(unsigned int timeout) const
static std::string normalise(const std::string &proto, const std::string &path)
bool check(const std::string &proto, const std::string &path, const AuxSettings &aux, IOOffset *size=nullptr) const override
void addContext(std::string const &context)
void stagein(const std::string &proto, const std::string &path, const AuxSettings &aux) const override
#define DEFINE_EDM_PLUGIN(factory, type, name)
std::unique_ptr< Storage > open(const std::string &proto, const std::string &path, int mode, AuxSettings const &aux) const override
static const StorageFactory * get(void)
tuple size
Write out results.