xrootd
|
00001 00002 // // 00003 // XrdClientConst // 00004 // // 00005 // Author: Fabrizio Furano (INFN Padova, 2004) // 00006 // Adapted from TXNetFile (root.cern.ch) originally done by // 00007 // Alvise Dorigo, Fabrizio Furano // 00008 // INFN Padova, 2003 // 00009 // // 00010 // Constants for Xrd // 00011 // // 00013 00014 00015 // $Id$ 00016 00017 00018 #ifndef _XRC_CONST_H 00019 #define _XRC_CONST_H 00020 00021 #define DFLT_CONNECTTIMEOUT 120 00022 #define NAME_CONNECTTIMEOUT (char *)"ConnectTimeout" 00023 00024 #define DFLT_REQUESTTIMEOUT 300 00025 #define NAME_REQUESTTIMEOUT (char *)"RequestTimeout" 00026 00027 #define DFLT_MAXREDIRECTCOUNT 16 00028 #define NAME_MAXREDIRECTCOUNT (char *)"MaxRedirectcount" 00029 00030 #define DFLT_DEBUG 0 00031 #define NAME_DEBUG (char *)"DebugLevel" 00032 00033 #define DFLT_RECONNECTWAIT 5 00034 #define NAME_RECONNECTWAIT (char *)"ReconnectWait" 00035 00036 #define DFLT_REDIRCNTTIMEOUT 36000 00037 #define NAME_REDIRCNTTIMEOUT (char *)"RedirCntTimeout" 00038 00039 #define DFLT_FIRSTCONNECTMAXCNT 8 00040 #define NAME_FIRSTCONNECTMAXCNT (char *)"FirstConnectMaxCnt" 00041 00042 #define DFLT_TRANSACTIONTIMEOUT 28800 00043 #define NAME_TRANSACTIONTIMEOUT (char *)"TransactionTimeout" 00044 00045 00046 #define TXSOCK_ERR_TIMEOUT -1 00047 #define TXSOCK_ERR -2 00048 #define TXSOCK_ERR_INTERRUPT -3 00049 00050 // the default number of parallel streams PER physical connection 00051 // 0 means that the multistream support is disabled 00052 #define DFLT_MULTISTREAMCNT 0 00053 #define NAME_MULTISTREAMCNT (char *)"ParStreamsPerPhyConn" 00054 00055 // The minimum size to use to split big single requests 00056 // through multiple streams 00057 #define DFLT_MULTISTREAMSPLITSIZE (4*1024*1024) 00058 00059 // keep/dont-keep the socket open (required by optimized rootd fallback) 00060 #define DFLT_KEEPSOCKOPENIFNOTXRD 0 00061 #define NAME_KEEPSOCKOPENIFNOTXRD (char *)"KeepSockOpenIfNotXrd" 00062 00063 // Printable version 00064 #define XRD_CLIENT_VERSION (char *)"kXR_ver002+kXR_asyncap" 00065 00066 // Version and capabilities sent to the server 00067 #define XRD_CLIENT_CURRENTVER (kXR_ver002) 00068 #define XRD_CLIENT_CAPVER ((kXR_char)kXR_asyncap | XRD_CLIENT_CURRENTVER) 00069 00070 // Defaults for ReadAhead and Cache 00071 #define DFLT_READCACHESIZE 0 00072 #define NAME_READCACHESIZE (char *)"ReadCacheSize" 00073 00074 // 0 = LRU 00075 // 1 = Remove least offest 00076 #define DFLT_READCACHEBLKREMPOLICY 0 00077 #define NAME_READCACHEBLKREMPOLICY (char *)"ReadCacheBlkRemPolicy" 00078 00079 #define DFLT_READAHEADSIZE (0) 00080 #define NAME_READAHEADSIZE (char *)"ReadAheadSize" 00081 00082 // Align all the read requests to multiples of a number 00083 #define DFLT_READTRIMBLKSZ (0) 00084 #define NAME_READTRIMBLKSZ (char *)"ReadTrimBlockSize" 00085 00086 // The default read ahead strategy to use 00087 #define DFLT_READAHEADSTRATEGY (1) // This is the sequential readahead 00088 #define NAME_READAHEADSTRATEGY (char *)"ReadAheadStrategy" 00089 00090 00091 // To be used in copy-like apps when the data is to be accessed only once 00092 // ... to reduce additional cache overhead 00093 #define DFLT_REMUSEDCACHEBLKS 0 00094 #define NAME_REMUSEDCACHEBLKS (char *)"RemoveUsedCacheBlocks" 00095 00096 // When writing async, purge immediately the written blocks from the cache 00097 #define DFLT_PURGEWRITTENBLOCKS 0 00098 #define NAME_PURGEWRITTENBLOCKS (char *)"PurgeWrittenBlocks" 00099 00100 #define NAME_REDIRDOMAINALLOW_RE (char *)"RedirDomainAllowRE" 00101 #define NAME_REDIRDOMAINDENY_RE (char *)"RedirDomainDenyRE" 00102 #define NAME_CONNECTDOMAINALLOW_RE (char *)"ConnectDomainAllowRE" 00103 #define NAME_CONNECTDOMAINDENY_RE (char *)"ConnectDomainDenyRE" 00104 00105 #define PROTO (char *)"root" 00106 00107 // The max number of threads spawned to do parallel opens 00108 // Note for dummies: this is not the max number of parallel opens 00109 #define DFLT_MAXCONCURRENTOPENS 100 00110 00111 #define READV_MAXCHUNKS 512 00112 #define READV_MAXCHUNKSIZE (1024*192) 00113 00114 // SOCKS4 support 00115 #define NAME_SOCKS4HOST (char *)"Socks4Server" 00116 #define NAME_SOCKS4PORT (char *)"Socks4Port" 00117 00118 // Default TCP windows size 00119 // A value of '0' implies "use the default OS settings" 00120 // which enables window scaling on some platforms (linux, MacOsX) 00121 // but may be to small on others (solaris); the preprocessor macro 00122 // is set based on the platform information found in configure 00123 #if defined(__linux__) || defined(__macos__) 00124 #define DFLT_DFLTTCPWINDOWSIZE (0) 00125 #else 00126 #define DFLT_DFLTTCPWINDOWSIZE (262144) 00127 #endif 00128 #define NAME_DFLTTCPWINDOWSIZE (char *)"DfltTcpWindowSize" 00129 00130 // A connection towards a data server timeouts quickly 00131 #define DFLT_DATASERVERCONN_TTL 300 00132 #define NAME_DATASERVERCONN_TTL (char *)"DataServerConn_ttl" 00133 00134 // A connection towards a Load Balancer timeouts after many seconds of no use 00135 #define DFLT_LBSERVERCONN_TTL 1200 00136 #define NAME_LBSERVERCONN_TTL (char *)"LBServerConn_ttl" 00137 00138 // Switch on/off the fork handlers 00139 #define DFLT_ENABLE_FORK_HANDLERS 0 00140 #define NAME_ENABLE_FORK_HANDLERS (char *)"EnableForkHandlers" 00141 00142 // Use TCP keepalive 00143 #define DFLT_ENABLE_TCP_KEEPALIVE 0 00144 #define NAME_ENABLE_TCP_KEEPALIVE (char *)"EnableTCPKeepAlive" 00145 00146 // Tweak the TCP keepalive - these are only meaningful on Linux 00147 00148 // Interval (in seconds) between the last data packet and the first probe 00149 #define DFLT_TCP_KEEPALIVE_TIME 7200 00150 #define NAME_TCP_KEEPALIVE_TIME (char *)"TCPKeepAliveTime" 00151 00152 // Interval (in seconds) between the probes 00153 #define DFLT_TCP_KEEPALIVE_INTERVAL 75 00154 #define NAME_TCP_KEEPALIVE_INTERVAL (char *)"TCPKeepAliveInterval" 00155 00156 // Number of probes lost to consider the connection broken 00157 #define DFLT_TCP_KEEPALIVE_PROBES 9 00158 #define NAME_TCP_KEEPALIVE_PROBES (char *)"TCPKeepAliveProbes" 00159 00160 #define TRUE 1 00161 #define FALSE 0 00162 00163 #define xrdmin(a, b) (a < b ? a : b) 00164 #define xrdmax(a, b) (a > b ? a : b) 00165 00166 #endif 00167