Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

XrdClientConst.hh

Go to the documentation of this file.
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 // Enable/disable the file size hint in xrdcp
00161 #define DFLT_XRDCP_SIZE_HINT 1
00162 #define NAME_XRDCP_SIZE_HINT (char *)"XrdCpSizeHint"
00163 
00164 #define TRUE  1
00165 #define FALSE 0
00166 
00167 #define xrdmin(a, b) (a < b ? a : b)
00168 #define xrdmax(a, b) (a > b ? a : b)
00169 
00170 #endif
00171 

Generated on Sun Nov 6 13:39:22 2011 for xrootd by  doxygen 1.3.9.1