xrootd
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends
XrdClient Class Reference

#include <XrdClient.hh>

Inheritance diagram for XrdClient:
Inheritance graph
[legend]
Collaboration diagram for XrdClient:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 XrdClient (const char *url, XrdClientCallback *XrdCcb=0, void *XrdCcbArg=0)
virtual ~XrdClient ()
UnsolRespProcResult ProcessUnsolicitedMsg (XrdClientUnsolMsgSender *sender, XrdClientMessage *unsolmsg)
bool Close ()
bool Sync ()
bool Copy (const char *localpath)
bool GetCacheInfo (int &size, long long &bytessubmitted, long long &byteshit, long long &misscount, float &missrate, long long &readreqcnt, float &bytesusefulness)
bool GetCounters (XrdClientCounters *cnt)
bool IsOpen ()
bool IsOpen_inprogress ()
bool IsOpen_wait ()
bool Open (kXR_unt16 mode, kXR_unt16 options, bool doitparallel=true)
int Read (void *buf, long long offset, int len)
kXR_int64 ReadV (char *buf, long long *offsets, int *lens, int nbuf)
XReqErrorType Read_Async (long long offset, int len, bool updatecounters=true)
bool Stat (struct XrdClientStatInfo *stinfo, bool force=false)
bool UseCache (bool u=true)
void RemoveAllDataFromCache ()
void RemoveDataFromCache (long long begin_offs, long long end_offs, bool remove_overlapped=false)
void SetCacheParameters (int CacheSize, int ReadAheadSize, int RmPolicy)
void SetReadAheadStrategy (int strategy)
void SetBlockReadTrimming (int blocksize)
bool Truncate (long long len)
bool Write (const void *buf, long long offset, int len)
- Public Member Functions inherited from XrdClientAbs
 XrdClientAbs (XrdClientCallback *XrdCcb=0, void *XrdCcbArg=0)
void SetParm (const char *parm, int val)
void SetParm (const char *parm, double val)
XrdClientConn * GetClientConn () const
XrdClientUrlInfo GetCurrentUrl ()
struct ServerResponseHeader * LastServerResp ()
struct ServerResponseBody_Error * LastServerError ()
bool Query (kXR_int16 ReqCode, const kXR_char *Args, kXR_char *Resp, kXR_int32 MaxResplen)
bool Query (kXR_int16 ReqCode, const kXR_char *Args, kXR_char **Resp, kXR_int32 MaxResplen)
- Public Member Functions inherited from XrdClientAbsUnsolMsgHandler
virtual ~XrdClientAbsUnsolMsgHandler ()

Public Attributes

std::vector< std::string > fExcludedHosts

Protected Member Functions

virtual bool OpenFileWhenRedirected (char *newfhandle, bool &wasopen)
virtual bool CanRedirOnError ()

Protected Attributes

XrdClientCounters fCounters
- Protected Attributes inherited from XrdClientAbs
XrdClientConn * fConnModule
char fHandle [4]
XrdClientCallback * fXrdCcb
void * fXrdCcbArg

Private Member Functions

bool TryOpen (kXR_unt16 mode, kXR_unt16 options, bool doitparallel)
bool LowOpen (const char *file, kXR_unt16 mode, kXR_unt16 options, char *additionalquery=0)
void TerminateOpenAttempt ()
void WaitForNewAsyncData ()
kXR_int64 ReadVEach (char *buf, kXR_int64 *offsets, int *lens, int &nbuf)
bool IsOpenedForWrite ()
void PrintCounters ()

Private Attributes

struct XrdClientOpenInfo fOpenPars
XrdSysCondVar * fOpenProgCnd
XrdClientThread * fOpenerTh
bool fOpenWithRefresh
XrdSysCondVar * fReadWaitData
struct XrdClientStatInfo fStatInfo
long fReadTrimBlockSize
bool fUseCache
XrdOucString fInitialUrl
XrdClientUrlInfo fUrl
XrdClientReadAheadMgr * fReadAheadMgr

Static Private Attributes

static XrdSysSemWait fConcOpenSem

Friends

void * FileOpenerThread (void *, XrdClientThread *)

Constructor & Destructor Documentation

XrdClient::XrdClient ( const char *  url,
XrdClientCallback *  XrdCcb = 0,
void *  XrdCcbArg = 0 
)
XrdClient::~XrdClient ( )
virtual

Member Function Documentation

virtual bool XrdClient::CanRedirOnError ( )
inlineprotectedvirtual
bool XrdClient::Close ( )
bool XrdClient::Copy ( const char *  localpath)
bool XrdClient::GetCacheInfo ( int &  size,
long long &  bytessubmitted,
long long &  byteshit,
long long &  misscount,
float &  missrate,
long long &  readreqcnt,
float &  bytesusefulness 
)
bool XrdClient::GetCounters ( XrdClientCounters *  cnt)
bool XrdClient::IsOpen ( )
inline

References fOpenPars, and XrdClientOpenInfo::opened.

Referenced by BWMToken_WaitFor().

bool XrdClient::IsOpen_inprogress ( )
bool XrdClient::IsOpen_wait ( )
virtual
bool XrdClient::IsOpenedForWrite ( )
inlineprivate
bool XrdClient::LowOpen ( const char *  file,
kXR_unt16  mode,
kXR_unt16  options,
char *  additionalquery = 0 
)
private
bool XrdClient::Open ( kXR_unt16  mode,
kXR_unt16  options,
bool  doitparallel = true 
)
bool XrdClient::OpenFileWhenRedirected ( char *  newfhandle,
bool &  wasopen 
)
protectedvirtual
void XrdClient::PrintCounters ( )
private
UnsolRespProcResult XrdClient::ProcessUnsolicitedMsg ( XrdClientUnsolMsgSender *  sender,
XrdClientMessage *  unsolmsg 
)
virtual

Implements XrdClientAbsUnsolMsgHandler.

References ServerResponseBody_Attn::actnum, XrdSysCondVar::Broadcast(), XrdOucString::c_str(), ConnectionManager, XrdClientMessage::DataLen(), ClientWriteRequest::dlen, ClientRequestHdr::dlen, ServerResponseHeader::dlen, XrdClientMessage::DonateData(), EnvGetLong, ServerResponseBody_Error::errmsg, ServerResponseBody_Error::errnum, Error, SidInfo::fathersid, XrdClientAbs::fConnModule, XrdClientMessage::fHdr, fReadWaitData, fUrl, XrdClientMessage::GetData(), XrdClientMessage::GetStatusCode(), XrdClientConn::GetStreamID(), ClientRequest::header, XrdClientMessage::HeaderSID(), XrdClientMessage::HeaderStatus(), XrdClientUrlInfo::Host, ServerResponseBody_Attn_asyncrd::host, Info, XrdClientMessage::IsAttn(), XrdClientDebug::kHIDEBUG, XrdClientDebug::kNODEBUG, kUNSOL_CONTINUE, kUNSOL_DISPOSE, kUNSOL_KEEP, XrdClientDebug::kUSERDEBUG, kXR_asyncdi, kXR_asyncgo, kXR_asyncrd, kXR_asyncwt, kXR_asynresp, kXR_noErrorYet, kXR_ok, kXR_oksofar, kXR_read, kXR_readv, kXR_write, XrdClientMessage::kXrdMSC_ok, XrdClientConn::LastServerError, NAME_PURGEWRITTENBLOCKS, ClientReadRequest::offset, ClientWriteRequest::offset, SidInfo::outstandingreq, XrdClientUrlInfo::Port, ServerResponseBody_Attn_asyncrd::port, XrdClientConn::ProcessAsynResp(), ClientRequest::read, XrdClientConn::RemoveDataFromCache(), SidInfo::reqbyteprogress, ClientRequestHdr::requestid, ClientReadRequest::rlen, XrdClientConn::SetREQDelayedConnectState(), XrdClientConn::SetREQPauseState(), XrdClientConn::SetRequestedDestHost(), XrdClientConn::SubmitDataToCache(), XrdClientReadV::SubmitToCacheReadVResp(), TerminateOpenAttempt(), XrdClientConn::UnPinCacheBlk(), ClientRequest::write, ServerResponseBody_Attn_asyncwt::wsec, ServerResponseBody_Attn_asyncdi::wsec, and xrdmin.

int XrdClient::Read ( void *  buf,
long long  offset,
int  len 
)

References XrdClientConn::CacheWillFit(), XrdClientVector< T >::Clear(), ConnectionManager, DebugLevel, ClientReadRequest::dlen, ServerResponseHeader::dlen, EnvGetLong, ServerResponseBody_Error::errnum, Error, FALSE, XrdClientAbs::fConnModule, fCounters, XrdClientAbs::fHandle, ClientReadRequest::fhandle, fReadAheadMgr, fReadTrimBlockSize, fReadWaitData, fUseCache, XrdClientConn::GetCacheInfo(), XrdClientConn::GetDataFromCache(), XrdClientReadAheadMgr::GetReadAheadHint(), XrdClientConn::GetServerProtocol(), XrdClientVector< T >::GetSize(), ClientRequest::header, Info, IsOpen_wait(), XrdClientConn::IsPhyConnConnected(), XrdClientDebug::kHIDEBUG, XrdClientDebug::kUSERDEBUG, kXR_noErrorYet, kXR_read, XrdClientConn::LastServerError, XrdClientConn::LastServerResp, XrdSysCondVar::Lock(), NAME_REMUSEDCACHEBLKS, NAME_REQUESTTIMEOUT, NAME_TRANSACTIONTIMEOUT, ClientReadRequest::offset, XrdClientConn::PrintCache(), ClientRequest::read, Read_Async(), XrdClientCounters::ReadBytes, XrdClientCounters::ReadHits, XrdClientCounters::ReadRequests, XrdClientConn::RemoveDataFromCache(), ClientReadRequest::requestid, ClientReadRequest::rlen, XrdClientConn::SendGenCommand(), XrdClientConn::SetOpTimeLimit(), XrdClientConn::SetSID(), XrdClientStatInfo::size, Stat(), ClientRequestHdr::streamid, XrdClientReadAheadMgr::TrimReadRequest(), XrdSysCondVar::UnLock(), XrdSysCondVar::Wait(), xrdmax, and xrdmin.

Referenced by Copy(), main(), XrdPosixFile::Read(), ReaderThread_xrd(), ReaderThread_xrd_xtreme(), and ReadV().

XReqErrorType XrdClient::Read_Async ( long long  offset,
int  len,
bool  updatecounters = true 
)
kXR_int64 XrdClient::ReadV ( char *  buf,
long long *  offsets,
int *  lens,
int  nbuf 
)
kXR_int64 XrdClient::ReadVEach ( char *  buf,
kXR_int64 *  offsets,
int *  lens,
int &  nbuf 
)
private
void XrdClient::RemoveAllDataFromCache ( )
void XrdClient::RemoveDataFromCache ( long long  begin_offs,
long long  end_offs,
bool  remove_overlapped = false 
)
void XrdClient::SetBlockReadTrimming ( int  blocksize)

References fReadTrimBlockSize.

Referenced by XrdClient().

void XrdClient::SetCacheParameters ( int  CacheSize,
int  ReadAheadSize,
int  RmPolicy 
)
void XrdClient::SetReadAheadStrategy ( int  strategy)
bool XrdClient::Stat ( struct XrdClientStatInfo *  stinfo,
bool  force = false 
)
bool XrdClient::Sync ( )
void XrdClient::TerminateOpenAttempt ( )
private
bool XrdClient::Truncate ( long long  len)
bool XrdClient::TryOpen ( kXR_unt16  mode,
kXR_unt16  options,
bool  doitparallel 
)
private
bool XrdClient::UseCache ( bool  u = true)
void XrdClient::WaitForNewAsyncData ( )
private
bool XrdClient::Write ( const void *  buf,
long long  offset,
int  len 
)

Friends And Related Function Documentation

void* FileOpenerThread ( void *  arg,
XrdClientThread *  thr 
)
friend

Referenced by TryOpen().


Member Data Documentation

XrdSysSemWait XrdClient::fConcOpenSem
staticprivate

Referenced by TerminateOpenAttempt(), and TryOpen().

XrdClientCounters XrdClient::fCounters
protected
std::vector<std::string> XrdClient::fExcludedHosts

Referenced by TryOpen().

XrdOucString XrdClient::fInitialUrl
private

Referenced by Open(), and XrdClient().

XrdClientThread* XrdClient::fOpenerTh
private
struct XrdClientOpenInfo XrdClient::fOpenPars
private
XrdSysCondVar* XrdClient::fOpenProgCnd
private
bool XrdClient::fOpenWithRefresh
private
XrdClientReadAheadMgr* XrdClient::fReadAheadMgr
private
long XrdClient::fReadTrimBlockSize
private
XrdSysCondVar* XrdClient::fReadWaitData
private
struct XrdClientStatInfo XrdClient::fStatInfo
private
XrdClientUrlInfo XrdClient::fUrl
private
bool XrdClient::fUseCache
private

The documentation for this class was generated from the following files: