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 #define TRUE 1 00139 #define FALSE 0 00140 00141 #define xrdmin(a, b) (a < b ? a : b) 00142 #define xrdmax(a, b) (a > b ? a : b) 00143 00144 #endif 00145