CMS 3D CMS Logo

SiteLocalConfigService.h
Go to the documentation of this file.
1 #ifndef FWCore_Services_SiteLocalConfigService_H
2 #define FWCore_Services_SiteLocalConfigService_H
3 
5 //
6 // dataCatalogs(unsigned catType) returns multiple data catalogs in site-local-config.xml.
7 // catType=TrivialCatalog: returns trivial catalogs defined in <event-data> blocks
8 // catType=RucioCatalog: returns catalogs defined in <data-access> blocks
9 // (the "enum" is defined in FWCore/Catalog/interface/SiteLocalConfig.h)
11 //<<<<<< INCLUDES >>>>>>
12 #include <string>
13 #include <list>
14 #include <vector>
17 #include "tinyxml2.h"
18 
19 //<<<<<< PUBLIC DEFINES >>>>>>
20 //<<<<<< PUBLIC CONSTANTS >>>>>>
21 //<<<<<< PUBLIC TYPES >>>>>>
22 namespace edm {
23  class ParameterSet;
24 }
25 
26 //<<<<<< PUBLIC VARIABLES >>>>>>
27 //<<<<<< PUBLIC FUNCTIONS >>>>>>
28 //<<<<<< CLASS DECLARATIONS >>>>>>
29 
30 namespace edm {
32  namespace service {
33 
35  public:
36  explicit SiteLocalConfigService(ParameterSet const& pset);
37 
38  std::vector<std::string> const& trivialDataCatalogs() const override;
39  std::vector<edm::CatalogAttributes> const& dataCatalogs() const override;
40  std::filesystem::path const storageDescriptionPath(edm::CatalogAttributes const& aDataCatalog) const override;
41  std::string const lookupCalibConnect(std::string const& input) const override;
42  std::string const rfioType(void) const override;
43 
44  std::string const* sourceCacheTempDir() const override;
45  double const* sourceCacheMinFree() const override;
46  std::string const* sourceCacheHint() const override;
47  std::string const* sourceCloneCacheHint() const override;
48  std::string const* sourceReadHint() const override;
49  unsigned int const* sourceTTreeCacheSize() const override;
50  unsigned int const* sourceTimeout() const override;
51  bool enablePrefetching() const override;
52  unsigned int debugLevel() const override;
53  std::vector<std::string> const* sourceNativeProtocols() const override;
54  struct addrinfo const* statisticsDestination() const override;
55  std::set<std::string> const* statisticsInfo() const override;
56  std::string const& siteName() const override;
57  std::string const& subSiteName() const override;
58  bool useLocalConnectString() const override;
59  std::string const& localConnectPrefix() const override;
60  std::string const& localConnectSuffix() const override;
61 
62  // implicit copy constructor
63  // implicit assignment operator
64  ~SiteLocalConfigService() override;
65 
66  static void fillDescriptions(ConfigurationDescriptions& descriptions);
67 
68  private:
69  void getCatalog(tinyxml2::XMLElement const& cat, std::string site, std::string subSite);
70  void parse(std::string const& url);
72  std::string const frontierConnect(std::string const& servlet) const;
74  std::vector<std::string> m_trivialDataCatalogs;
75  std::vector<edm::CatalogAttributes> m_dataCatalogs;
82  double const* m_cacheMinFreePtr;
89  unsigned int m_ttreeCacheSize;
90  unsigned int const* m_ttreeCacheSizePtr;
91  unsigned int m_timeout;
92  unsigned int const* m_timeoutPtr;
93  unsigned int m_debugLevel;
96  std::vector<std::string> m_nativeProtocols;
97  std::vector<std::string> const* m_nativeProtocolsPtr;
101  std::set<std::string> m_statisticsInfo;
108  };
109 
110  inline bool isProcessWideService(SiteLocalConfigService const*) { return true; }
111  } // namespace service
112 } // namespace edm
113 
114 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>>
115 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>>
116 
117 #endif // FRAMEWORK_SITE_LOCAL_CONFIG_H
static void fillDescriptions(ConfigurationDescriptions &descriptions)
struct addrinfo const * statisticsDestination() const override
std::vector< edm::CatalogAttributes > m_dataCatalogs
static const std::string m_statisticsDefaultPort
std::vector< std::string > const & trivialDataCatalogs() const override
bool isProcessWideService(TFileService const *)
Definition: TFileService.h:98
std::string const * sourceCacheHint() const override
std::string const * sourceReadHint() const override
unsigned int const * sourceTimeout() const override
void getCatalog(tinyxml2::XMLElement const &cat, std::string site, std::string subSite)
std::string const & subSiteName() const override
std::vector< std::string > const * sourceNativeProtocols() const override
std::vector< std::string > const * m_nativeProtocolsPtr
std::string const * sourceCacheTempDir() const override
static std::string const input
Definition: EdmProvDump.cc:50
std::string const & localConnectPrefix() const override
std::vector< std::string > m_trivialDataCatalogs
def cat(path)
Definition: eostools.py:401
edm::propagate_const< struct addrinfo * > m_statisticsAddrInfo
std::string const rfioType(void) const override
std::string const frontierConnect(std::string const &servlet) const
std::filesystem::path const storageDescriptionPath(edm::CatalogAttributes const &aDataCatalog) const override
std::vector< std::string > m_nativeProtocols
unsigned int const * sourceTTreeCacheSize() const override
std::string const & localConnectSuffix() const override
unsigned int debugLevel() const override
SiteLocalConfigService(ParameterSet const &pset)
std::set< std::string > const * statisticsInfo() const override
double const * sourceCacheMinFree() const override
HLT enums.
std::vector< edm::CatalogAttributes > const & dataCatalogs() const override
std::string const * sourceCloneCacheHint() const override
std::string const lookupCalibConnect(std::string const &input) const override
std::string const & siteName() const override