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
XrdClientUrlInfo * GetLBSUrl ()
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

XrdClientPhyConnection * GetPhyConn (int LogConnID)
XrdClientConnectionMgr * GetConnectionMgr ()
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

XrdClientAbsUnsolMsgHandler * fUnsolMsgHandler
XrdClientUrlInfo fUrl
XrdClientUrlInfo * fLBSUrl
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)
XrdClientMessage * ClientServerCmd (ClientRequest *req, const void *reqMoreData, void **answMoreDataAllocated, void *answMoreData, bool HasToAlloc, int substreamid=0)
XrdSecProtocol * DoAuthentication (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)
XrdClientMessage * ReadPartialAnswer (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
XrdClientReadCache * fMainReadCache
time_t fOpTimeLimit
XrdClientAbs * fRedirHandler
XrdOucString fRedirInternalToken
XrdSysCondVar * fREQWaitResp
ServerResponseBody_Attn_asynresp * fREQWaitRespData
time_t fREQWaitTimeLimit
XrdSysCondVar * fREQWait
time_t fREQConnectWaitTimeLimit
XrdSysCondVar * fREQConnectWait
long fServerProto
ERemoteServerType fServerType
int fOpenSockFD
XrdSysCondVar * fWriteWaitAck
XrdClientVector< ClientRequest > fWriteReqsToRetry

Static Private Attributes

XrdOucString fgClientHostDomain
XrdOucHash< SessionIDInfo > fSessionIDRepo
XrdClientConnectionMgr * fgConnectionMgr = 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