xrootd
Loading...
Searching...
No Matches
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 <cstdint>
23#include <unordered_map>
24#include <string>
25#include <algorithm>
26
27namespace XrdCl
28{
29 //----------------------------------------------------------------------------
30 // Log message types
31 //----------------------------------------------------------------------------
32 const uint64_t AppMsg = 0x0000000000000001ULL;
33 const uint64_t UtilityMsg = 0x0000000000000002ULL;
34 const uint64_t FileMsg = 0x0000000000000004ULL;
35 const uint64_t PollerMsg = 0x0000000000000008ULL;
36 const uint64_t PostMasterMsg = 0x0000000000000010ULL;
37 const uint64_t XRootDTransportMsg = 0x0000000000000020ULL;
38 const uint64_t TaskMgrMsg = 0x0000000000000040ULL;
39 const uint64_t XRootDMsg = 0x0000000000000080ULL;
40 const uint64_t FileSystemMsg = 0x0000000000000100ULL;
41 const uint64_t AsyncSockMsg = 0x0000000000000200ULL;
42 const uint64_t JobMgrMsg = 0x0000000000000400ULL;
43 const uint64_t PlugInMgrMsg = 0x0000000000000800ULL;
44 const uint64_t ExDbgMsg = 0x0000000000001000ULL; //special type debugging extra-hard problems
45 const uint64_t TlsMsg = 0x0000000000002000ULL;
46 const uint64_t ZipMsg = 0x0000000000004000ULL;
47
48 //----------------------------------------------------------------------------
49 // Environment settings
50 //----------------------------------------------------------------------------
52 const int DefaultConnectionWindow = 120;
54 const int DefaultRequestTimeout = 1800;
55 const int DefaultStreamTimeout = 60;
57 const int DefaultStreamErrorWindow = 1800;
58 const int DefaultRunForkHandler = 1;
59 const int DefaultRedirectLimit = 16;
60 const int DefaultWorkerThreads = 3;
61 const int DefaultCPChunkSize = 8388608;
63 const int DefaultDataServerTTL = 300;
64 const int DefaultLoadBalancerTTL = 1200;
65 const int DefaultCPInitTimeout = 600;
66 const int DefaultCPTPCTimeout = 1800;
67 const int DefaultCPTimeout = 0;
68 const int DefaultTCPKeepAlive = 0;
69 const int DefaultTCPKeepAliveTime = 7200;
72 const int DefaultMultiProtocol = 0;
73 const int DefaultParallelEvtLoop = 10;
76 const int DefaultXRateThreshold = 0;
77 const int DefaultXCpBlockSize = 134217728; // DefaultCPChunkSize * DefaultCPParallelChunks * 2
78#ifdef __APPLE__
79 // we don't have corking on osx so we cannot turn of nagle
80 const int DefaultNoDelay = 0;
81#else
82 const int DefaultNoDelay = 1;
83#endif
84 const int DefaultAioSignal = 0;
85 const int DefaultPreferIPv4 = 0;
86 const int DefaultMaxMetalinkWait = 60;
89 const int DefaultPreserveXAttrs = 0;
90 const int DefaultNoTlsOK = 0;
91 const int DefaultTlsNoData = 0;
92 const int DefaultTlsMetalink = 0;
93 const int DefaultZipMtlnCksum = 0;
94 const int DefaultIPNoShuffle = 0;
97 const int DefaultCpRetry = 0;
98 const int DefaultCpUsePgWrtRd = 1;
99
100 const char * const DefaultPollerPreference = "built-in";
101 const char * const DefaultNetworkStack = "IPAuto";
102 const char * const DefaultClientMonitor = "";
103 const char * const DefaultClientMonitorParam = "";
104 const char * const DefaultPlugInConfDir = "";
105 const char * const DefaultPlugIn = "";
106 const char * const DefaultReadRecovery = "true";
107 const char * const DefaultWriteRecovery = "true";
108 const char * const DefaultOpenRecovery = "true";
109 const char * const DefaultGlfnRedirector = "";
110 const char * const DefaultTlsDbgLvl = "OFF";
111 const char * const DefaultClConfDir = "";
112 const char * const DefaultClConfFile = "";
113 const char * const DefaultCpTarget = "";
114 const char * const DefaultCpRetryPolicy = "force";
115
116 inline static std::string to_lower( std::string str )
117 {
118 std::transform( str.begin(), str.end(), str.begin(), ::tolower );
119 return str;
120 }
121
122 static std::unordered_map<std::string, int> theDefaultInts
123 {
124 { to_lower( "SubStreamsPerChannel" ), DefaultSubStreamsPerChannel },
125 { to_lower( "ConnectionWindow" ), DefaultConnectionWindow },
126 { to_lower( "ConnectionRetry" ), DefaultConnectionRetry },
127 { to_lower( "RequestTimeout" ), DefaultRequestTimeout },
128 { to_lower( "StreamTimeout" ), DefaultStreamTimeout },
129 { to_lower( "TimeoutResolution" ), DefaultTimeoutResolution },
130 { to_lower( "StreamErrorWindow" ), DefaultStreamErrorWindow },
131 { to_lower( "RunForkHandler" ), DefaultRunForkHandler },
132 { to_lower( "RedirectLimit" ), DefaultRedirectLimit },
133 { to_lower( "WorkerThreads" ), DefaultWorkerThreads },
134 { to_lower( "CPChunkSize" ), DefaultCPChunkSize },
135 { to_lower( "CPParallelChunks" ), DefaultCPParallelChunks },
136 { to_lower( "DataServerTTL" ), DefaultDataServerTTL },
137 { to_lower( "LoadBalancerTTL" ), DefaultLoadBalancerTTL },
138 { to_lower( "CPInitTimeout" ), DefaultCPInitTimeout },
139 { to_lower( "CPTPCTimeout" ), DefaultCPTPCTimeout },
140 { to_lower( "CPTimeout" ), DefaultCPTimeout },
141 { to_lower( "TCPKeepAlive" ), DefaultTCPKeepAlive },
142 { to_lower( "TCPKeepAliveTime" ), DefaultTCPKeepAliveTime },
143 { to_lower( "TCPKeepAliveInterval" ), DefaultTCPKeepAliveInterval },
144 { to_lower( "TCPKeepAliveProbes" ), DefaultTCPKeepAliveProbes },
145 { to_lower( "MultiProtocol" ), DefaultMultiProtocol },
146 { to_lower( "ParallelEvtLoop" ), DefaultParallelEvtLoop },
147 { to_lower( "MetalinkProcessing" ), DefaultMetalinkProcessing },
148 { to_lower( "LocalMetalinkFile" ), DefaultLocalMetalinkFile },
149 { to_lower( "XRateThreshold" ), DefaultXRateThreshold },
150 { to_lower( "XCpBlockSize" ), DefaultXCpBlockSize },
151 { to_lower( "NoDelay" ), DefaultNoDelay },
152 { to_lower( "AioSignal" ), DefaultAioSignal },
153 { to_lower( "PreferIPv4" ), DefaultPreferIPv4 },
154 { to_lower( "MaxMetalinkWait" ), DefaultMaxMetalinkWait },
155 { to_lower( "PreserveLocateTried" ), DefaultPreserveLocateTried },
156 { to_lower( "NotAuthorizedRetryLimit" ), DefaultNotAuthorizedRetryLimit },
157 { to_lower( "PreserveXAttrs" ), DefaultPreserveXAttrs },
158 { to_lower( "NoTlsOK" ), DefaultNoTlsOK },
159 { to_lower( "TlsNoData" ), DefaultTlsNoData },
160 { to_lower( "TlsMetalink" ), DefaultTlsMetalink },
161 { to_lower( "ZipMtlnCksum" ), DefaultZipMtlnCksum },
162 { to_lower( "IPNoShuffle" ), DefaultIPNoShuffle },
163 { to_lower( "WantTlsOnNoPgrw" ), DefaultWantTlsOnNoPgrw },
164 { to_lower( "RetryWrtAtLBLimit" ), DefaultRetryWrtAtLBLimit }
165 };
166
167 static std::unordered_map<std::string, std::string> theDefaultStrs
168 {
169 { to_lower( "PollerPreference" ), DefaultPollerPreference },
170 { to_lower( "NetworkStack" ), DefaultNetworkStack },
171 { to_lower( "ClientMonitor" ), DefaultClientMonitor },
172 { to_lower( "ClientMonitorParam" ), DefaultClientMonitorParam },
173 { to_lower( "PlugInConfDir" ), DefaultPlugInConfDir },
174 { to_lower( "PlugIn" ), DefaultPlugIn },
175 { to_lower( "ReadRecovery" ), DefaultReadRecovery },
176 { to_lower( "WriteRecovery" ), DefaultWriteRecovery },
177 { to_lower( "OpenRecovery" ), DefaultOpenRecovery },
178 { to_lower( "GlfnRedirector" ), DefaultGlfnRedirector },
179 { to_lower( "TlsDbgLvl" ), DefaultTlsDbgLvl },
180 { to_lower( "ClConfDir" ), DefaultClConfDir },
181 { to_lower( "DefaultClConfFile" ), DefaultClConfFile },
182 { to_lower( "CpTarget" ), DefaultCpTarget }
183 };
184}
185
186#endif // __XRD_CL_CONSTANTS_HH__
Definition XrdClAction.hh:34
const int DefaultPreserveLocateTried
Definition XrdClConstants.hh:87
const int DefaultRunForkHandler
Definition XrdClConstants.hh:58
const char *const DefaultClConfFile
Definition XrdClConstants.hh:112
const int DefaultRedirectLimit
Definition XrdClConstants.hh:59
const int DefaultCPInitTimeout
Definition XrdClConstants.hh:65
const int DefaultXRateThreshold
Definition XrdClConstants.hh:76
const int DefaultLoadBalancerTTL
Definition XrdClConstants.hh:64
const uint64_t XRootDTransportMsg
Definition XrdClConstants.hh:37
const int DefaultMaxMetalinkWait
Definition XrdClConstants.hh:86
const char *const DefaultCpTarget
Definition XrdClConstants.hh:113
const int DefaultTCPKeepAliveProbes
Definition XrdClConstants.hh:71
const int DefaultCPChunkSize
Definition XrdClConstants.hh:61
const char *const DefaultClConfDir
Definition XrdClConstants.hh:111
const char *const DefaultClientMonitorParam
Definition XrdClConstants.hh:103
const uint64_t AppMsg
Definition XrdClConstants.hh:32
const uint64_t PollerMsg
Definition XrdClConstants.hh:35
const int DefaultRetryWrtAtLBLimit
Definition XrdClConstants.hh:96
const uint64_t PostMasterMsg
Definition XrdClConstants.hh:36
const int DefaultWantTlsOnNoPgrw
Definition XrdClConstants.hh:95
const char *const DefaultOpenRecovery
Definition XrdClConstants.hh:108
const uint64_t ZipMsg
Definition XrdClConstants.hh:46
const int DefaultStreamErrorWindow
Definition XrdClConstants.hh:57
const char *const DefaultPlugIn
Definition XrdClConstants.hh:105
const uint64_t XRootDMsg
Definition XrdClConstants.hh:39
const int DefaultMultiProtocol
Definition XrdClConstants.hh:72
const int DefaultConnectionRetry
Definition XrdClConstants.hh:53
const int DefaultIPNoShuffle
Definition XrdClConstants.hh:94
const int DefaultSubStreamsPerChannel
Definition XrdClConstants.hh:51
const int DefaultConnectionWindow
Definition XrdClConstants.hh:52
const uint64_t FileMsg
Definition XrdClConstants.hh:34
const int DefaultDataServerTTL
Definition XrdClConstants.hh:63
const uint64_t ExDbgMsg
Definition XrdClConstants.hh:44
const int DefaultCPParallelChunks
Definition XrdClConstants.hh:62
const int DefaultTlsMetalink
Definition XrdClConstants.hh:92
const char *const DefaultPollerPreference
Definition XrdClConstants.hh:100
const int DefaultTimeoutResolution
Definition XrdClConstants.hh:56
const char *const DefaultNetworkStack
Definition XrdClConstants.hh:101
const int DefaultStreamTimeout
Definition XrdClConstants.hh:55
const int DefaultLocalMetalinkFile
Definition XrdClConstants.hh:75
const int DefaultCpUsePgWrtRd
Definition XrdClConstants.hh:98
const int DefaultMetalinkProcessing
Definition XrdClConstants.hh:74
const uint64_t AsyncSockMsg
Definition XrdClConstants.hh:41
static std::string to_lower(std::string str)
Definition XrdClConstants.hh:116
const char *const DefaultPlugInConfDir
Definition XrdClConstants.hh:104
const int DefaultTCPKeepAliveInterval
Definition XrdClConstants.hh:70
const int DefaultXCpBlockSize
Definition XrdClConstants.hh:77
const uint64_t PlugInMgrMsg
Definition XrdClConstants.hh:43
const uint64_t UtilityMsg
Definition XrdClConstants.hh:33
const char *const DefaultReadRecovery
Definition XrdClConstants.hh:106
const int DefaultCPTimeout
Definition XrdClConstants.hh:67
const uint64_t TlsMsg
Definition XrdClConstants.hh:45
const int DefaultTCPKeepAlive
Definition XrdClConstants.hh:68
const int DefaultCpRetry
Definition XrdClConstants.hh:97
const int DefaultRequestTimeout
Definition XrdClConstants.hh:54
const int DefaultTCPKeepAliveTime
Definition XrdClConstants.hh:69
const int DefaultPreserveXAttrs
Definition XrdClConstants.hh:89
const int DefaultPreferIPv4
Definition XrdClConstants.hh:85
const char *const DefaultWriteRecovery
Definition XrdClConstants.hh:107
const char *const DefaultGlfnRedirector
Definition XrdClConstants.hh:109
const uint64_t TaskMgrMsg
Definition XrdClConstants.hh:38
const char *const DefaultCpRetryPolicy
Definition XrdClConstants.hh:114
static std::unordered_map< std::string, std::string > theDefaultStrs
Definition XrdClConstants.hh:168
const int DefaultNotAuthorizedRetryLimit
Definition XrdClConstants.hh:88
const int DefaultWorkerThreads
Definition XrdClConstants.hh:60
const uint64_t FileSystemMsg
Definition XrdClConstants.hh:40
const int DefaultAioSignal
Definition XrdClConstants.hh:84
const int DefaultCPTPCTimeout
Definition XrdClConstants.hh:66
const int DefaultNoDelay
Definition XrdClConstants.hh:82
const int DefaultTlsNoData
Definition XrdClConstants.hh:91
const char *const DefaultTlsDbgLvl
Definition XrdClConstants.hh:110
const int DefaultNoTlsOK
Definition XrdClConstants.hh:90
const uint64_t JobMgrMsg
Definition XrdClConstants.hh:42
static std::unordered_map< std::string, int > theDefaultInts
Definition XrdClConstants.hh:123
const char *const DefaultClientMonitor
Definition XrdClConstants.hh:102
const int DefaultParallelEvtLoop
Definition XrdClConstants.hh:73
const int DefaultZipMtlnCksum
Definition XrdClConstants.hh:93