68 #include "XrdVersion.hh" 72 class XrdClientReadAheadMgr;
73 class XrdClientThread;
122 friend void *FileOpenerThread(
void*, XrdClientThread*);
157 bool LowOpen(
const char *file,
160 char *additionalquery = 0);
162 void TerminateOpenAttempt();
164 void WaitForNewAsyncData();
173 if (!fOpenPars.options)
return false;
182 void PrintCounters();
187 virtual bool OpenFileWhenRedirected(
char *newfhandle,
194 if ( !fOpenPars.opened )
return true;
196 return !IsOpenedForWrite();
203 XrdClient(
const char *url, XrdClientCallback *XrdCcb = 0,
void *XrdCcbArg = 0);
207 XrdClientMessage *unsolmsg);
215 bool Copy(
const char *localpath);
223 long long &bytessubmitted,
230 long long &misscount,
236 long long &readreqcnt,
239 float &bytesusefulness
248 inline bool IsOpen() {
return fOpenPars.opened; }
251 bool IsOpen_inprogress();
262 int Read(
void *buf,
long long offset,
int len);
271 kXR_int64 ReadV(
char *buf,
long long *offsets,
int *lens,
int nbuf);
275 XReqErrorType Read_Async(
long long offset,
int len,
bool updatecounters=
true);
282 bool UseCache(
bool u =
true);
285 void RemoveAllDataFromCache();
288 void RemoveDataFromCache(
long long begin_offs,
290 bool remove_overlapped =
false);
295 void SetCacheParameters(
int CacheSize,
int ReadAheadSize,
int RmPolicy);
298 void SetReadAheadStrategy(
int strategy);
304 void SetBlockReadTrimming(
int blocksize);
307 bool Truncate(
long long len);
310 bool Write(
const void *buf,
long long offset,
int len);
long long ReadHits
Definition: XrdClient.hh:103
Definition: XrdClient.hh:121
XrdOucString fInitialUrl
Definition: XrdClient.hh:150
Definition: XProtocol.hh:195
XrdSysCondVar * fReadWaitData
Definition: XrdClient.hh:142
long long ReadVAsyncSubRequests
Definition: XrdClient.hh:112
long long WriteRequests
Definition: XrdClient.hh:99
unsigned short kXR_unt16
Definition: XPtypes.hh:40
kXR_unt16 options
Definition: XrdClient.hh:79
long id
Definition: XrdClient.hh:85
long long WrittenBytes
Definition: XrdClient.hh:98
long long ReadAsyncRequests
Definition: XrdClient.hh:116
float ReadMissRate
Definition: XrdClient.hh:104
XrdClientCounters fCounters
Definition: XrdClient.hh:185
XrdClientReadAheadMgr * fReadAheadMgr
Definition: XrdClient.hh:180
Definition: XrdClientUrlInfo.hh:50
long fReadTrimBlockSize
Definition: XrdClient.hh:146
bool opened
Definition: XrdClient.hh:77
bool IsOpen()
Definition: XrdClient.hh:248
static XrdSysSemWait fConcOpenSem
Definition: XrdClient.hh:138
Definition: XrdClientUnsolMsg.hh:63
long long ReadVSubRequests
Definition: XrdClient.hh:107
long long ReadAsyncBytes
Definition: XrdClient.hh:117
int stated
Definition: XrdClient.hh:83
XrdSysCondVar * fOpenProgCnd
Definition: XrdClient.hh:132
long long ReadMisses
Definition: XrdClient.hh:102
Definition: XrdSysPthread.hh:53
Definition: XrdClient.hh:90
kXR_unt16 mode
Definition: XrdClient.hh:78
UnsolRespProcResult
Definition: XrdClientUnsolMsg.hh:43
long long ReadVAsyncRequests
Definition: XrdClient.hh:111
long long ReadBytes
Definition: XrdClient.hh:97
XrdClientUrlInfo fUrl
Definition: XrdClient.hh:151
long long ReadVAsyncSubChunks
Definition: XrdClient.hh:113
int CacheSize
Definition: XrdClient.hh:91
Definition: XrdClient.hh:75
long long ReadVSubChunks
Definition: XrdClient.hh:108
long long ReadVBytes
Definition: XrdClient.hh:109
XrdClientThread * fOpenerTh
Definition: XrdClient.hh:135
Definition: XrdSysSemWait.hh:34
Definition: XrdClient.hh:82
bool fUseCache
Definition: XrdClient.hh:148
bool inprogress
Definition: XrdClient.hh:76
virtual bool CanRedirOnError()
Definition: XrdClient.hh:190
long long ReadVRequests
Definition: XrdClient.hh:106
long long ReadVAsyncBytes
Definition: XrdClient.hh:114
long modtime
Definition: XrdClient.hh:87
long long size
Definition: XrdClient.hh:84
std::vector< std::string > fExcludedHosts
Definition: XrdClient.hh:312
long long ReadRequests
Definition: XrdClient.hh:101
bool fOpenWithRefresh
Definition: XrdClient.hh:140
Definition: XrdClientAbs.hh:49
bool IsOpenedForWrite()
Definition: XrdClient.hh:171
long long kXR_int64
Definition: XPtypes.hh:71
XReqErrorType
Definition: XProtocol.hh:74
Definition: XrdOucString.hh:254
long flags
Definition: XrdClient.hh:86