xrootd
XrdClConstants.hh
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 // Copyright (c) 2011-2012 by European Organization for Nuclear Research (CERN)
3 // Author: Lukasz Janyst <ljanyst@cern.ch>
4 //------------------------------------------------------------------------------
5 // XRootD is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // XRootD is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with XRootD. If not, see <http://www.gnu.org/licenses/>.
17 //------------------------------------------------------------------------------
18 
19 #ifndef __XRD_CL_CONSTANTS_HH__
20 #define __XRD_CL_CONSTANTS_HH__
21 
22 #include <stdint.h>
23 #include <unordered_map>
24 #include <string>
25 
26 namespace XrdCl
27 {
28  //----------------------------------------------------------------------------
29  // Log message types
30  //----------------------------------------------------------------------------
31  const uint64_t AppMsg = 0x0000000000000001ULL;
32  const uint64_t UtilityMsg = 0x0000000000000002ULL;
33  const uint64_t FileMsg = 0x0000000000000004ULL;
34  const uint64_t PollerMsg = 0x0000000000000008ULL;
35  const uint64_t PostMasterMsg = 0x0000000000000010ULL;
36  const uint64_t XRootDTransportMsg = 0x0000000000000020ULL;
37  const uint64_t TaskMgrMsg = 0x0000000000000040ULL;
38  const uint64_t XRootDMsg = 0x0000000000000080ULL;
39  const uint64_t FileSystemMsg = 0x0000000000000100ULL;
40  const uint64_t AsyncSockMsg = 0x0000000000000200ULL;
41  const uint64_t JobMgrMsg = 0x0000000000000400ULL;
42  const uint64_t PlugInMgrMsg = 0x0000000000000800ULL;
43  const uint64_t ExDbgMsg = 0x0000000000001000ULL; //special type debugging extra-hard problems
44  const uint64_t TlsMsg = 0x0000000000002000ULL;
45  const uint64_t ZipMsg = 0x0000000000004000ULL;
46 
47  //----------------------------------------------------------------------------
48  // Environment settings
49  //----------------------------------------------------------------------------
51  const int DefaultConnectionWindow = 120;
52  const int DefaultConnectionRetry = 5;
53  const int DefaultRequestTimeout = 1800;
54  const int DefaultStreamTimeout = 60;
55  const int DefaultTimeoutResolution = 15;
56  const int DefaultStreamErrorWindow = 1800;
57  const int DefaultRunForkHandler = 1;
58  const int DefaultRedirectLimit = 16;
59  const int DefaultWorkerThreads = 3;
60  const int DefaultCPChunkSize = 8388608;
61  const int DefaultCPParallelChunks = 4;
62  const int DefaultDataServerTTL = 300;
63  const int DefaultLoadBalancerTTL = 1200;
64  const int DefaultCPInitTimeout = 600;
65  const int DefaultCPTPCTimeout = 1800;
66  const int DefaultCPTimeout = 0;
67  const int DefaultTCPKeepAlive = 0;
68  const int DefaultTCPKeepAliveTime = 7200;
71  const int DefaultMultiProtocol = 0;
72  const int DefaultParallelEvtLoop = 1;
74  const int DefaultLocalMetalinkFile = 0;
75  const int DefaultXRateThreshold = 0;
76  const int DefaultXCpBlockSize = 134217728; // DefaultCPChunkSize * DefaultCPParallelChunks * 2
77 #ifdef __APPLE__
78  // we don't have corking on osx so we cannot turn of nagle
79  const int DefaultNoDelay = 0;
80 #else
81  const int DefaultNoDelay = 1;
82 #endif
83  const int DefaultAioSignal = 0;
84  const int DefaultPreferIPv4 = 0;
85  const int DefaultMaxMetalinkWait = 60;
88  const int DefaultPreserveXAttrs = 0;
89  const int DefaultNoTlsOK = 0;
90  const int DefaultTlsNoData = 0;
91  const int DefaultTlsMetalink = 0;
92  const int DefaultZipMtlnCksum = 0;
93  const int DefaultIPNoShuffle = 0;
94  const int DefaultWantTlsOnNoPgrw = 0;
95  const int DefaultRetryWrtAtLBLimit = 3;
96 
97  const char * const DefaultPollerPreference = "built-in";
98  const char * const DefaultNetworkStack = "IPAuto";
99  const char * const DefaultClientMonitor = "";
100  const char * const DefaultClientMonitorParam = "";
101  const char * const DefaultPlugInConfDir = "";
102  const char * const DefaultPlugIn = "";
103  const char * const DefaultReadRecovery = "true";
104  const char * const DefaultWriteRecovery = "true";
105  const char * const DefaultOpenRecovery = "true";
106  const char * const DefaultGlfnRedirector = "";
107  const char * const DefaultTlsDbgLvl = "OFF";
108  const char * const DefaultClConfDir = "";
109  const char * const DefaultClConfFile = "";
110 
111  static std::unordered_map<std::string, int> theDefaultInts
112  {
113  { "SubStreamsPerChannel", DefaultSubStreamsPerChannel },
114  { "ConnectionWindow", DefaultConnectionWindow },
115  { "ConnectionRetry", DefaultConnectionRetry },
116  { "RequestTimeout", DefaultRequestTimeout },
117  { "StreamTimeout", DefaultStreamTimeout },
118  { "TimeoutResolution", DefaultTimeoutResolution },
119  { "StreamErrorWindow", DefaultStreamErrorWindow },
120  { "RunForkHandler", DefaultRunForkHandler },
121  { "RedirectLimit", DefaultRedirectLimit },
122  { "WorkerThreads", DefaultWorkerThreads },
123  { "CPChunkSize", DefaultCPChunkSize },
124  { "CPParallelChunks", DefaultCPParallelChunks },
125  { "DataServerTTL", DefaultDataServerTTL },
126  { "LoadBalancerTTL", DefaultLoadBalancerTTL },
127  { "CPInitTimeout", DefaultCPInitTimeout },
128  { "CPTPCTimeout", DefaultCPTPCTimeout },
129  { "CPTimeout", DefaultCPTimeout },
130  { "TCPKeepAlive", DefaultTCPKeepAlive },
131  { "TCPKeepAliveTime", DefaultTCPKeepAliveTime },
132  { "TCPKeepAliveInterval", DefaultTCPKeepAliveInterval },
133  { "TCPKeepAliveProbes", DefaultTCPKeepAliveProbes },
134  { "MultiProtocol", DefaultMultiProtocol },
135  { "ParallelEvtLoop", DefaultParallelEvtLoop },
136  { "MetalinkProcessing", DefaultMetalinkProcessing },
137  { "LocalMetalinkFile", DefaultLocalMetalinkFile },
138  { "XRateThreshold", DefaultXRateThreshold },
139  { "XCpBlockSize", DefaultXCpBlockSize },
140  { "NoDelay", DefaultNoDelay },
141  { "AioSignal", DefaultAioSignal },
142  { "PreferIPv4", DefaultPreferIPv4 },
143  { "MaxMetalinkWait", DefaultMaxMetalinkWait },
144  { "PreserveLocateTried", DefaultPreserveLocateTried },
145  { "NotAuthorizedRetryLimit", DefaultNotAuthorizedRetryLimit },
146  { "PreserveXAttrs", DefaultPreserveXAttrs },
147  { "NoTlsOK", DefaultNoTlsOK },
148  { "TlsNoData", DefaultTlsNoData },
149  { "TlsMetalink", DefaultTlsMetalink },
150  { "ZipMtlnCksum", DefaultZipMtlnCksum },
151  { "IPNoShuffle", DefaultIPNoShuffle },
152  { "WantTlsOnNoPgrw", DefaultWantTlsOnNoPgrw },
153  { "RetryWrtAtLBLimit", DefaultRetryWrtAtLBLimit }
154  };
155 
156  static std::unordered_map<std::string, std::string> theDefaultStrs
157  {
158  { "PollerPreference", DefaultPollerPreference },
159  { "NetworkStack", DefaultNetworkStack },
160  { "ClientMonitor", DefaultClientMonitor },
161  { "ClientMonitorParam", DefaultClientMonitorParam },
162  { "PlugInConfDir", DefaultPlugInConfDir },
163  { "PlugIn", DefaultPlugIn },
164  { "ReadRecovery", DefaultReadRecovery },
165  { "WriteRecovery", DefaultWriteRecovery },
166  { "OpenRecovery", DefaultOpenRecovery },
167  { "GlfnRedirector", DefaultGlfnRedirector },
168  { "TlsDbgLvl", DefaultTlsDbgLvl },
169  { "ClConfDir", DefaultClConfDir },
170  { "DefaultClConfFile", DefaultClConfFile }
171  };
172 }
173 
174 #endif // __XRD_CL_CONSTANTS_HH__
const uint64_t ZipMsg
Definition: XrdClConstants.hh:45
const uint64_t PollerMsg
Definition: XrdClConstants.hh:34
static std::unordered_map< std::string, int > theDefaultInts
Definition: XrdClConstants.hh:112
const int DefaultCPChunkSize
Definition: XrdClConstants.hh:60
const int DefaultTCPKeepAliveTime
Definition: XrdClConstants.hh:68
const uint64_t ExDbgMsg
Definition: XrdClConstants.hh:43
const char *const DefaultWriteRecovery
Definition: XrdClConstants.hh:104
const uint64_t FileMsg
Definition: XrdClConstants.hh:33
const int DefaultCPTPCTimeout
Definition: XrdClConstants.hh:65
const int DefaultTCPKeepAliveInterval
Definition: XrdClConstants.hh:69
const int DefaultPreferIPv4
Definition: XrdClConstants.hh:84
const uint64_t AsyncSockMsg
Definition: XrdClConstants.hh:40
const int DefaultDataServerTTL
Definition: XrdClConstants.hh:62
const char *const DefaultReadRecovery
Definition: XrdClConstants.hh:103
const int DefaultMetalinkProcessing
Definition: XrdClConstants.hh:73
const int DefaultXCpBlockSize
Definition: XrdClConstants.hh:76
const int DefaultLoadBalancerTTL
Definition: XrdClConstants.hh:63
const int DefaultRunForkHandler
Definition: XrdClConstants.hh:57
const int DefaultStreamTimeout
Definition: XrdClConstants.hh:54
const int DefaultNotAuthorizedRetryLimit
Definition: XrdClConstants.hh:87
const char *const DefaultClientMonitor
Definition: XrdClConstants.hh:99
const int DefaultTlsNoData
Definition: XrdClConstants.hh:90
const char *const DefaultGlfnRedirector
Definition: XrdClConstants.hh:106
const int DefaultStreamErrorWindow
Definition: XrdClConstants.hh:56
const uint64_t XRootDMsg
Definition: XrdClConstants.hh:38
const int DefaultCPInitTimeout
Definition: XrdClConstants.hh:64
const char *const DefaultTlsDbgLvl
Definition: XrdClConstants.hh:107
const int DefaultIPNoShuffle
Definition: XrdClConstants.hh:93
const int DefaultWantTlsOnNoPgrw
Definition: XrdClConstants.hh:94
const char *const DefaultPollerPreference
Definition: XrdClConstants.hh:97
const char *const DefaultClientMonitorParam
Definition: XrdClConstants.hh:100
const int DefaultConnectionRetry
Definition: XrdClConstants.hh:52
const int DefaultCPTimeout
Definition: XrdClConstants.hh:66
const int DefaultXRateThreshold
Definition: XrdClConstants.hh:75
const int DefaultWorkerThreads
Definition: XrdClConstants.hh:59
const int DefaultRetryWrtAtLBLimit
Definition: XrdClConstants.hh:95
const char *const DefaultPlugInConfDir
Definition: XrdClConstants.hh:101
const int DefaultParallelEvtLoop
Definition: XrdClConstants.hh:72
const char *const DefaultPlugIn
Definition: XrdClConstants.hh:102
Definition: XrdClAnyObject.hh:25
const int DefaultTimeoutResolution
Definition: XrdClConstants.hh:55
const uint64_t JobMgrMsg
Definition: XrdClConstants.hh:41
const uint64_t TlsMsg
Definition: XrdClConstants.hh:44
const char *const DefaultClConfDir
Definition: XrdClConstants.hh:108
const int DefaultZipMtlnCksum
Definition: XrdClConstants.hh:92
const uint64_t PlugInMgrMsg
Definition: XrdClConstants.hh:42
const int DefaultCPParallelChunks
Definition: XrdClConstants.hh:61
const int DefaultTCPKeepAliveProbes
Definition: XrdClConstants.hh:70
const char *const DefaultClConfFile
Definition: XrdClConstants.hh:109
const int DefaultMultiProtocol
Definition: XrdClConstants.hh:71
const uint64_t XRootDTransportMsg
Definition: XrdClConstants.hh:36
const int DefaultMaxMetalinkWait
Definition: XrdClConstants.hh:85
const uint64_t UtilityMsg
Definition: XrdClConstants.hh:32
const int DefaultTlsMetalink
Definition: XrdClConstants.hh:91
const int DefaultNoTlsOK
Definition: XrdClConstants.hh:89
const int DefaultAioSignal
Definition: XrdClConstants.hh:83
const int DefaultPreserveXAttrs
Definition: XrdClConstants.hh:88
const char *const DefaultNetworkStack
Definition: XrdClConstants.hh:98
const int DefaultNoDelay
Definition: XrdClConstants.hh:81
const int DefaultSubStreamsPerChannel
Definition: XrdClConstants.hh:50
const char *const DefaultOpenRecovery
Definition: XrdClConstants.hh:105
const uint64_t AppMsg
Definition: XrdClConstants.hh:31
const int DefaultConnectionWindow
Definition: XrdClConstants.hh:51
const int DefaultPreserveLocateTried
Definition: XrdClConstants.hh:86
const int DefaultRedirectLimit
Definition: XrdClConstants.hh:58
const int DefaultRequestTimeout
Definition: XrdClConstants.hh:53
const uint64_t FileSystemMsg
Definition: XrdClConstants.hh:39
const uint64_t PostMasterMsg
Definition: XrdClConstants.hh:35
const int DefaultLocalMetalinkFile
Definition: XrdClConstants.hh:74
const int DefaultTCPKeepAlive
Definition: XrdClConstants.hh:67
const uint64_t TaskMgrMsg
Definition: XrdClConstants.hh:37
static std::unordered_map< std::string, std::string > theDefaultStrs
Definition: XrdClConstants.hh:157