CMS 3D CMS Logo

SiteLocalConfig.h
Go to the documentation of this file.
1 #ifndef FWCore_Catalog_SiteLocalConfig_h
2 #define FWCore_Catalog_SiteLocalConfig_h
3 //
5 // Abstract class. dataCatalogs() returns multiple data catalogs from site-local-config.xml. It is overridden in derived classes.
6 //
8 
9 // INCLUDES
10 #include <set>
11 #include <string>
12 #include <vector>
13 #include <netdb.h>
14 #include <filesystem>
15 // PUBLIC DEFINES
16 // PUBLIC CONSTANTS
17 // PUBLIC TYPES
18 namespace edm {
19  class ParameterSet;
20  class ActivityRegistry;
21 
22  //attributes of a data catalog (Rucio format) defined in <data-access> block of site-local-config.xml. See further description in SiteLocalConfigService.cc
24  CatalogAttributes() = default;
26  std::string input_subSite,
27  std::string input_storageSite,
28  std::string input_volume,
29  std::string input_protocol)
30  : site(std::move(input_site)),
31  subSite(std::move(input_subSite)),
32  storageSite(std::move(input_storageSite)),
33  volume(std::move(input_volume)),
34  protocol(std::move(input_protocol)) {}
35  bool operator==(const CatalogAttributes& aCatalog) const {
36  return site == aCatalog.site && subSite == aCatalog.subSite && storageSite == aCatalog.storageSite &&
37  volume == aCatalog.volume && protocol == aCatalog.protocol;
38  }
39  bool empty() const { return site.empty() && storageSite.empty() && volume.empty() && protocol.empty(); }
42  std::string storageSite; //site where storage description is used
45  };
46 
48 } // namespace edm
49 
50 // PUBLIC VARIABLES
51 // PUBLIC FUNCTIONS
52 // CLASS DECLARATIONS
53 
54 namespace edm {
56  public:
58  virtual ~SiteLocalConfig() {}
59 
60  virtual std::vector<std::string> const& trivialDataCatalogs() const = 0;
61  virtual std::vector<edm::CatalogAttributes> const& dataCatalogs() const = 0;
62  virtual std::filesystem::path const storageDescriptionPath(const edm::CatalogAttributes& aDataCatalog) const = 0;
63  virtual std::string const lookupCalibConnect(std::string const& input) const = 0;
64  virtual std::string const rfioType(void) const = 0;
65 
66  virtual std::string const* sourceCacheTempDir() const = 0;
67  virtual double const* sourceCacheMinFree() const = 0;
68  virtual std::string const* sourceCacheHint() const = 0;
69  virtual std::string const* sourceCloneCacheHint() const = 0;
70  virtual std::string const* sourceReadHint() const = 0;
71  virtual unsigned int const* sourceTTreeCacheSize() const = 0;
72  virtual unsigned int const* sourceTimeout() const = 0;
73  virtual bool enablePrefetching() const = 0;
74  virtual unsigned int debugLevel() const = 0;
75  virtual std::vector<std::string> const* sourceNativeProtocols() const = 0;
76  virtual struct addrinfo const* statisticsDestination() const = 0;
77  virtual std::set<std::string> const* statisticsInfo() const = 0;
78  virtual std::string const& siteName(void) const = 0;
79  virtual std::string const& subSiteName(void) const = 0;
80  virtual bool useLocalConnectString() const = 0;
81  virtual std::string const& localConnectPrefix() const = 0;
82  virtual std::string const& localConnectSuffix() const = 0;
83 
84  // implicit copy constructor
85  // implicit assignment operator
86  private:
87  };
88 } // namespace edm
89 
90 // INLINE PUBLIC FUNCTIONS
91 // INLINE MEMBER FUNCTIONS
92 
93 #endif //FWCore_Catalog_SiteLocalConfig_h
virtual std::string const & localConnectPrefix() const =0
virtual std::string const & localConnectSuffix() const =0
virtual std::string const lookupCalibConnect(std::string const &input) const =0
virtual bool useLocalConnectString() const =0
virtual std::vector< std::string > const & trivialDataCatalogs() const =0
static std::string const input
Definition: EdmProvDump.cc:50
virtual bool enablePrefetching() const =0
virtual std::string const * sourceCacheTempDir() const =0
virtual std::vector< edm::CatalogAttributes > const & dataCatalogs() const =0
virtual unsigned int const * sourceTTreeCacheSize() const =0
virtual unsigned int const * sourceTimeout() const =0
virtual std::string const * sourceCloneCacheHint() const =0
virtual unsigned int debugLevel() const =0
virtual std::string const & subSiteName(void) const =0
virtual std::vector< std::string > const * sourceNativeProtocols() const =0
CatalogAttributes(std::string input_site, std::string input_subSite, std::string input_storageSite, std::string input_volume, std::string input_protocol)
virtual std::string const & siteName(void) const =0
HLT enums.
virtual double const * sourceCacheMinFree() const =0
virtual std::string const * sourceCacheHint() const =0
virtual std::string const rfioType(void) const =0
virtual std::string const * sourceReadHint() const =0
bool operator==(const CatalogAttributes &aCatalog) const
virtual struct addrinfo const * statisticsDestination() const =0
virtual std::set< std::string > const * statisticsInfo() const =0
def move(src, dest)
Definition: eostools.py:511
virtual std::filesystem::path const storageDescriptionPath(const edm::CatalogAttributes &aDataCatalog) const =0