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 Attributes

std::vector< std::string > fExcludedHosts

Protected Member Functions

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

Protected Attributes

XrdClientCounters fCounters

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 ( ) [inline, protected, virtual]
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 ( ) [inline, private]
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 
) [protected, virtual]
void XrdClient::PrintCounters ( ) [private]
UnsolRespProcResult XrdClient::ProcessUnsolicitedMsg ( XrdClientUnsolMsgSender *  sender,
XrdClientMessage *  unsolmsg 
) [virtual]

Implements XrdClientAbsUnsolMsgHandler.

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

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

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

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

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 ( ) [inline]
void XrdClient::RemoveDataFromCache ( long long  begin_offs,
long long  end_offs,
bool  remove_overlapped = false 
) [inline]
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

Referenced by TerminateOpenAttempt(), and TryOpen().

std::vector<std::string> XrdClient::fExcludedHosts

Referenced by TryOpen().

Referenced by XrdClient(), and Open().

bool XrdClient::fUseCache [private]

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