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

XrdClientConn Class Reference

#include <XrdClientConn.hh>

Collaboration diagram for XrdClientConn:

Collaboration graph
[legend]
List of all members.

Public Types

enum  ESrvErrorHandlerRetval {
  kSEHRReturnMsgToCaller = 0, kSEHRBreakLoop = 1, kSEHRContinue = 2, kSEHRReturnNoMsgToCaller = 3,
  kSEHRRedirLimitReached = 4
}
enum  EThreeStateReadHandler { kTSRHReturnMex = 0, kTSRHReturnNullMex = 1, kTSRHContinue = 2 }

Public Member Functions

 XrdClientConn ()
virtual ~XrdClientConn ()
bool CacheWillFit (long long bytes)
bool CheckHostDomain (XrdOucString hostToCheck)
short Connect (XrdClientUrlInfo Host2Conn, XrdClientAbsUnsolMsgHandler *unsolhandler)
void Disconnect (bool ForcePhysicalDisc)
virtual bool GetAccessToSrv ()
XReqErrorType GoBackToRedirector ()
XrdOucString GetClientHostDomain ()
long GetDataFromCache (const void *buffer, long long begin_offs, long long end_offs, bool PerfCalc, XrdClientIntvList &missingblks, long &outstandingblks)
bool SubmitDataToCache (XrdClientMessage *xmsg, long long begin_offs, long long end_offs)
bool SubmitRawDataToCache (const void *buffer, long long begin_offs, long long end_offs)
void SubmitPlaceholderToCache (long long begin_offs, long long end_offs)
void RemoveAllDataFromCache (bool keepwriteblocks=true)
void RemoveDataFromCache (long long begin_offs, long long end_offs, bool remove_overlapped=false)
void RemovePlaceholdersFromCache ()
void PrintCache ()
bool GetCacheInfo (int &size, long long &bytessubmitted, long long &byteshit, long long &misscount, float &missrate, long long &readreqcnt, float &bytesusefulness)
void SetCacheSize (int CacheSize)
void SetCacheRmPolicy (int RmPolicy)
void UnPinCacheBlk (long long begin_offs, long long end_offs)
int GetLogConnID () const
ERemoteServerType GetServerType () const
kXR_unt16 GetStreamID () const
XrdClientUrlInfoGetLBSUrl ()
XrdClientUrlInfo GetCurrentUrl ()
XrdClientUrlInfo GetRedirUrl ()
XErrorCode GetOpenError () const
virtual XReqErrorType GoToAnotherServer (XrdClientUrlInfo &newdest)
bool IsConnected () const
bool IsPhyConnConnected ()
void ClearLastServerError ()
UnsolRespProcResult ProcessAsynResp (XrdClientMessage *unsolmsg)
virtual bool SendGenCommand (ClientRequest *req, const void *reqMoreData, void **answMoreDataAllocated, void *answMoreData, bool HasToAlloc, char *CmdName, int substreamid=0)
int GetOpenSockFD () const
void SetClientHostDomain (const char *src)
void SetConnected (bool conn)
void SetOpenError (XErrorCode err)
int GetParallelStreamToUse (int reqsperstream)
int GetParallelStreamCount ()
void SetRedirHandler (XrdClientAbs *rh)
void SetRequestedDestHost (char *newh, kXR_int32 port)
void SetREQPauseState (kXR_int32 wsec)
void SetREQDelayedConnectState (kXR_int32 wsec)
void SetSID (kXR_char *sid)
void SetUrl (XrdClientUrlInfo thisUrl)
XReqErrorType WriteToServer_Async (ClientRequest *req, const void *reqMoreData, int substreamid=0)
void GetSessionID (SessionIDInfo &sess)
long GetServerProtocol ()
short GetMaxRedirCnt () const
void SetMaxRedirCnt (short mx)
short GetRedirCnt () const
bool DoWriteSoftCheckPoint ()
bool DoWriteHardCheckPoint ()
void UnPinCacheBlk ()
void SetOpTimeLimit (int delta_secs)
bool IsOpTimeLimitElapsed (time_t timenow)

Static Public Member Functions

XrdClientPhyConnectionGetPhyConn (int LogConnID)
XrdClientConnectionMgrGetConnectionMgr ()
XrdOucHash< SessionIDInfo > & GetSessionIDRepo ()

Public Attributes

int fLastDataBytesRecv
int fLastDataBytesSent
XErrorCode fOpenError
XrdOucString fRedirOpaque
ServerResponseHeader LastServerResp
ServerResponseBody_Error LastServerError

Protected Member Functions

void SetLogConnID (int cid)
void SetStreamID (kXR_unt16 sid)

Protected Attributes

XrdClientAbsUnsolMsgHandlerfUnsolMsgHandler
XrdClientUrlInfo fUrl
XrdClientUrlInfofLBSUrl
XrdClientUrlInfo fREQUrl
short fGlobalRedirCnt

Private Member Functions

bool CheckErrorStatus (XrdClientMessage *, short &, char *)
void CheckPort (int &port)
void CheckREQPauseState ()
void CheckREQConnectWaitState ()
bool CheckResp (struct ServerResponseHeader *resp, const char *method)
XrdClientMessageClientServerCmd (ClientRequest *req, const void *reqMoreData, void **answMoreDataAllocated, void *answMoreData, bool HasToAlloc, int substreamid=0)
XrdSecProtocolDoAuthentication (char *plist, int plsiz)
ERemoteServerType DoHandShake (short log)
bool DoLogin ()
bool DomainMatcher (XrdOucString dom, XrdOucString domlist)
XrdOucString GetDomainToMatch (XrdOucString hostname)
ESrvErrorHandlerRetval HandleServerError (XReqErrorType &, XrdClientMessage *, ClientRequest *)
bool MatchStreamid (struct ServerResponseHeader *ServerResponse)
bool PanicClose ()
XrdOucString ParseDomainFromHostname (XrdOucString hostname)
XrdClientMessageReadPartialAnswer (XReqErrorType &, size_t &, ClientRequest *, bool, void **, EThreeStateReadHandler &)
void ClearSessionID ()
XReqErrorType WriteToServer (ClientRequest *req, const void *reqMoreData, short LogConnID, int substreamid=0)
bool WaitResp (int secsmax)

Private Attributes

bool fConnected
bool fGettingAccessToSrv
time_t fGlobalRedirLastUpdateTimestamp
int fLogConnID
kXR_unt16 fPrimaryStreamid
short fMaxGlobalRedirCnt
XrdClientReadCachefMainReadCache
time_t fOpTimeLimit
XrdClientAbsfRedirHandler
XrdOucString fRedirInternalToken
XrdSysCondVarfREQWaitResp
ServerResponseBody_Attn_asynrespfREQWaitRespData
time_t fREQWaitTimeLimit
XrdSysCondVarfREQWait
time_t fREQConnectWaitTimeLimit
XrdSysCondVarfREQConnectWait
long fServerProto
ERemoteServerType fServerType
int fOpenSockFD
XrdSysCondVarfWriteWaitAck
XrdClientVector< ClientRequestfWriteReqsToRetry

Static Private Attributes

XrdOucString fgClientHostDomain
XrdOucHash< SessionIDInfofSessionIDRepo
XrdClientConnectionMgrfgConnectionMgr = 0

Member Enumeration Documentation

enum XrdClientConn::ESrvErrorHandlerRetval
 

Enumeration values:
kSEHRReturnMsgToCaller 
kSEHRBreakLoop 
kSEHRContinue 
kSEHRReturnNoMsgToCaller 
kSEHRRedirLimitReached 

enum XrdClientConn::EThreeStateReadHandler
 

Enumeration values:
kTSRHReturnMex 
kTSRHReturnNullMex 
kTSRHContinue 


Constructor & Destructor Documentation

XrdClientConn::XrdClientConn  ) 
 

XrdClientConn::~XrdClientConn  )  [virtual]
 


Member Function Documentation

bool XrdClientConn::CacheWillFit long long  bytes  )  [inline]
 

bool XrdClientConn::CheckErrorStatus XrdClientMessage ,
short &  ,
char * 
[private]
 

bool XrdClientConn::CheckHostDomain XrdOucString  hostToCheck  ) 
 

void XrdClientConn::CheckPort int &  port  )  [private]
 

void XrdClientConn::CheckREQConnectWaitState  )  [private]
 

void XrdClientConn::CheckREQPauseState  )  [private]
 

bool XrdClientConn::CheckResp struct ServerResponseHeader resp,
const char *  method
[private]
 

void XrdClientConn::ClearLastServerError  )  [inline]
 

void XrdClientConn::ClearSessionID  )  [private]
 

XrdClientMessage * XrdClientConn::ClientServerCmd ClientRequest req,
const void *  reqMoreData,
void **  answMoreDataAllocated,
void *  answMoreData,
bool  HasToAlloc,
int  substreamid = 0
[private]
 

short XrdClientConn::Connect XrdClientUrlInfo  Host2Conn,
XrdClientAbsUnsolMsgHandler unsolhandler
 

void XrdClientConn::Disconnect bool  ForcePhysicalDisc  ) 
 

XrdSecProtocol * XrdClientConn::DoAuthentication char *  plist,
int  plsiz
[private]
 

ERemoteServerType XrdClientConn::DoHandShake short  log  )  [private]
 

bool XrdClientConn::DoLogin  )  [private]
 

bool XrdClientConn::DomainMatcher XrdOucString  dom,
XrdOucString  domlist
[private]
 

bool XrdClientConn::DoWriteHardCheckPoint  ) 
 

bool XrdClientConn::DoWriteSoftCheckPoint  ) 
 

bool XrdClientConn::GetAccessToSrv  )  [virtual]
 

bool XrdClientConn::GetCacheInfo int &  size,
long long &  bytessubmitted,
long long &  byteshit,
long long &  misscount,
float &  missrate,
long long &  readreqcnt,
float &  bytesusefulness
[inline]
 

XrdOucString XrdClientConn::GetClientHostDomain  )  [inline]
 

XrdClientConnectionMgr* XrdClientConn::GetConnectionMgr  )  [inline, static]
 

XrdClientUrlInfo XrdClientConn::GetCurrentUrl  )  [inline]
 

long XrdClientConn::GetDataFromCache const void *  buffer,
long long  begin_offs,
long long  end_offs,
bool  PerfCalc,
XrdClientIntvList missingblks,
long &  outstandingblks
 

XrdOucString XrdClientConn::GetDomainToMatch XrdOucString  hostname  )  [private]
 

XrdClientUrlInfo* XrdClientConn::GetLBSUrl  )  [inline]
 

int XrdClientConn::GetLogConnID  )  const [inline]
 

short XrdClientConn::GetMaxRedirCnt  )  const [inline]
 

XErrorCode XrdClientConn::GetOpenError  )  const [inline]
 

int XrdClientConn::GetOpenSockFD  )  const [inline]
 

int XrdClientConn::GetParallelStreamCount  ) 
 

int XrdClientConn::GetParallelStreamToUse int  reqsperstream  ) 
 

XrdClientPhyConnection * XrdClientConn::GetPhyConn int  LogConnID  )  [static]
 

short XrdClientConn::GetRedirCnt  )  const [inline]
 

XrdClientUrlInfo XrdClientConn::GetRedirUrl  )  [inline]
 

long XrdClientConn::GetServerProtocol  )  [inline]
 

ERemoteServerType XrdClientConn::GetServerType  )  const [inline]
 

void XrdClientConn::GetSessionID SessionIDInfo sess  )  [inline]
 

XrdOucHash<SessionIDInfo>& XrdClientConn::GetSessionIDRepo  )  [inline, static]
 

kXR_unt16 XrdClientConn::GetStreamID  )  const [inline]
 

XReqErrorType XrdClientConn::GoBackToRedirector  ) 
 

XReqErrorType XrdClientConn::GoToAnotherServer XrdClientUrlInfo newdest  )  [virtual]
 

XrdClientConn::ESrvErrorHandlerRetval XrdClientConn::HandleServerError XReqErrorType ,
XrdClientMessage ,
ClientRequest
[private]
 

bool XrdClientConn::IsConnected  )  const [inline]
 

bool XrdClientConn::IsOpTimeLimitElapsed time_t  timenow  ) 
 

bool XrdClientConn::IsPhyConnConnected  ) 
 

bool XrdClientConn::MatchStreamid struct ServerResponseHeader ServerResponse  )  [private]
 

bool XrdClientConn::PanicClose  )  [private]
 

XrdOucString XrdClientConn::ParseDomainFromHostname XrdOucString  hostname  )  [private]
 

void XrdClientConn::PrintCache  )  [inline]
 

UnsolRespProcResult XrdClientConn::ProcessAsynResp XrdClientMessage unsolmsg  ) 
 

XrdClientMessage * XrdClientConn::ReadPartialAnswer XReqErrorType ,
size_t &  ,
ClientRequest ,
bool  ,
void **  ,
EThreeStateReadHandler
[private]
 

void XrdClientConn::RemoveAllDataFromCache bool  keepwriteblocks = true  )  [inline]
 

void XrdClientConn::RemoveDataFromCache long long  begin_offs,
long long  end_offs,
bool  remove_overlapped = false
[inline]
 

void XrdClientConn::RemovePlaceholdersFromCache  )  [inline]
 

bool XrdClientConn::SendGenCommand ClientRequest req,
const void *  reqMoreData,
void **  answMoreDataAllocated,
void *  answMoreData,
bool  HasToAlloc,
char *  CmdName,
int  substreamid = 0
[virtual]
 

void XrdClientConn::SetCacheRmPolicy int  RmPolicy  )  [inline]
 

void XrdClientConn::SetCacheSize int  CacheSize  )  [inline]
 

void XrdClientConn::SetClientHostDomain const char *  src  )  [inline]
 

void XrdClientConn::SetConnected bool  conn  )  [inline]
 

void XrdClientConn::SetLogConnID int  cid  )  [inline, protected]
 

void XrdClientConn::SetMaxRedirCnt short  mx  )  [inline]
 

void XrdClientConn::SetOpenError XErrorCode  err  )  [inline]
 

void XrdClientConn::SetOpTimeLimit int  delta_secs  ) 
 

void XrdClientConn::SetRedirHandler XrdClientAbs rh  )  [inline]
 

void XrdClientConn::SetREQDelayedConnectState kXR_int32  wsec  )  [inline]
 

void XrdClientConn::SetREQPauseState kXR_int32  wsec  )  [inline]
 

void XrdClientConn::SetRequestedDestHost char *  newh,
kXR_int32  port
[inline]
 

void XrdClientConn::SetSID kXR_char sid  ) 
 

void XrdClientConn::SetStreamID kXR_unt16  sid  )  [inline, protected]
 

void XrdClientConn::SetUrl XrdClientUrlInfo  thisUrl  )  [inline]
 

bool XrdClientConn::SubmitDataToCache XrdClientMessage xmsg,
long long  begin_offs,
long long  end_offs
 

void XrdClientConn::SubmitPlaceholderToCache long long  begin_offs,
long long  end_offs
[inline]
 

bool XrdClientConn::SubmitRawDataToCache const void *  buffer,
long long  begin_offs,
long long  end_offs
 

void XrdClientConn::UnPinCacheBlk  ) 
 

void XrdClientConn::UnPinCacheBlk long long  begin_offs,
long long  end_offs
[inline]
 

bool XrdClientConn::WaitResp int  secsmax  )  [private]
 

XReqErrorType XrdClientConn::WriteToServer ClientRequest req,
const void *  reqMoreData,
short  LogConnID,
int  substreamid = 0
[private]
 

XReqErrorType XrdClientConn::WriteToServer_Async ClientRequest req,
const void *  reqMoreData,
int  substreamid = 0
 


Member Data Documentation

bool XrdClientConn::fConnected [private]
 

XrdOucString XrdClientConn::fgClientHostDomain [static, private]
 

XrdClientConnectionMgr * XrdClientConn::fgConnectionMgr = 0 [static, private]
 

bool XrdClientConn::fGettingAccessToSrv [private]
 

short XrdClientConn::fGlobalRedirCnt [protected]
 

time_t XrdClientConn::fGlobalRedirLastUpdateTimestamp [private]
 

int XrdClientConn::fLastDataBytesRecv
 

int XrdClientConn::fLastDataBytesSent
 

XrdClientUrlInfo* XrdClientConn::fLBSUrl [protected]
 

int XrdClientConn::fLogConnID [private]
 

XrdClientReadCache* XrdClientConn::fMainReadCache [private]
 

short XrdClientConn::fMaxGlobalRedirCnt [private]
 

XErrorCode XrdClientConn::fOpenError
 

int XrdClientConn::fOpenSockFD [private]
 

time_t XrdClientConn::fOpTimeLimit [private]
 

kXR_unt16 XrdClientConn::fPrimaryStreamid [private]
 

XrdClientAbs* XrdClientConn::fRedirHandler [private]
 

XrdOucString XrdClientConn::fRedirInternalToken [private]
 

XrdOucString XrdClientConn::fRedirOpaque
 

XrdSysCondVar* XrdClientConn::fREQConnectWait [private]
 

time_t XrdClientConn::fREQConnectWaitTimeLimit [private]
 

XrdClientUrlInfo XrdClientConn::fREQUrl [protected]
 

XrdSysCondVar* XrdClientConn::fREQWait [private]
 

XrdSysCondVar* XrdClientConn::fREQWaitResp [private]
 

ServerResponseBody_Attn_asynresp* XrdClientConn::fREQWaitRespData [private]
 

time_t XrdClientConn::fREQWaitTimeLimit [private]
 

long XrdClientConn::fServerProto [private]
 

ERemoteServerType XrdClientConn::fServerType [private]
 

XrdOucHash< XrdClientConn::SessionIDInfo > XrdClientConn::fSessionIDRepo [static, private]
 

XrdClientAbsUnsolMsgHandler* XrdClientConn::fUnsolMsgHandler [protected]
 

XrdClientUrlInfo XrdClientConn::fUrl [protected]
 

XrdClientVector<ClientRequest> XrdClientConn::fWriteReqsToRetry [private]
 

XrdSysCondVar* XrdClientConn::fWriteWaitAck [private]
 

struct ServerResponseBody_Error XrdClientConn::LastServerError
 

struct ServerResponseHeader XrdClientConn::LastServerResp
 


The documentation for this class was generated from the following files:
Generated on Sun Nov 6 13:41:54 2011 for xrootd by  doxygen 1.3.9.1