forked from cms-sw/cmssw
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSiteLocalConfig.h
77 lines (69 loc) · 2.97 KB
/
SiteLocalConfig.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#ifndef FWCore_Catalog_SiteLocalConfig_h
#define FWCore_Catalog_SiteLocalConfig_h
////////////////////////////////////////////////////////////
//
// Abstract class. dataCatalogs() returns multiple data catalogs from site-local-config.xml. It is overridden in derived classes.
//
////////////////////////////////////////////////////////////
// INCLUDES
#include <set>
#include <string>
#include <vector>
#include <netdb.h>
#include <filesystem>
// PUBLIC DEFINES
// PUBLIC CONSTANTS
// PUBLIC TYPES
namespace edm {
class ParameterSet;
class ActivityRegistry;
} // namespace edm
// PUBLIC VARIABLES
// PUBLIC FUNCTIONS
// CLASS DECLARATIONS
namespace edm {
class SiteLocalConfig {
public:
SiteLocalConfig() {}
virtual ~SiteLocalConfig() {}
enum CatalogType {TrivialCatalog,RucioCatalog};
//attributes of a data catalog (Rucio format) defined in <data-access> block of site-local-config.xml. See further description in SiteLocalConfigService.cc
struct CatalogAttr{
CatalogAttr(){site="";subSite="";storageSite="";volume="";protocol="";}
bool empty(){return site==""&&subSite==""&&storageSite==""&&volume==""&&protocol=="";}
std::string site;
std::string subSite;
std::string storageSite;//site where storage description is used
std::string volume;
std::string protocol;
} ;
//virtual std::vector<std::string> const& dataCatalogs(CatalogType catType = TrivialCatalog) const = 0;
virtual std::vector<std::string> const& dataCatalogs() const = 0;
virtual std::vector<CatalogAttr> const& dataCatalogs_da() const = 0;
virtual std::filesystem::path const storageDescriptionPath(const CatalogAttr& aDataCatalog) const = 0;
virtual std::string const lookupCalibConnect(std::string const& input) const = 0;
virtual std::string const rfioType(void) const = 0;
virtual std::string const* sourceCacheTempDir() const = 0;
virtual double const* sourceCacheMinFree() const = 0;
virtual std::string const* sourceCacheHint() const = 0;
virtual std::string const* sourceCloneCacheHint() const = 0;
virtual std::string const* sourceReadHint() const = 0;
virtual unsigned int const* sourceTTreeCacheSize() const = 0;
virtual unsigned int const* sourceTimeout() const = 0;
virtual bool enablePrefetching() const = 0;
virtual unsigned int debugLevel() const = 0;
virtual std::vector<std::string> const* sourceNativeProtocols() const = 0;
virtual struct addrinfo const* statisticsDestination() const = 0;
virtual std::set<std::string> const* statisticsInfo() const = 0;
virtual std::string const& siteName(void) const = 0;
virtual bool useLocalConnectString() const = 0;
virtual std::string const& localConnectPrefix() const = 0;
virtual std::string const& localConnectSuffix() const = 0;
// implicit copy constructor
// implicit assignment operator
private:
};
} // namespace edm
// INLINE PUBLIC FUNCTIONS
// INLINE MEMBER FUNCTIONS
#endif //FWCore_Catalog_SiteLocalConfig_h