ROOT  6.06/09
Reference Guide
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
XrdClientConn Class Reference

Definition at line 54 of file XrdClientConn.hh.

Classes

struct  SessionIDInfo
 

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 * GetMetaUrl ()
 
XrdClientUrlInfo GetCurrentUrl ()
 
XrdClientUrlInfo GetRedirUrl ()
 
XErrorCode GetOpenError () const
 
virtual XReqErrorType GoToAnotherServer (XrdClientUrlInfo &newdest)
 
virtual XReqErrorType GoToMetaManager ()
 
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

static XrdClientPhyConnectionGetPhyConn (int LogConnID)
 
static XrdClientConnectionMgrGetConnectionMgr ()
 
static void DelSessionIDRepo ()
 

Public Attributes

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

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)
 
XrdClientMessageClientServerCmd (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)
 
XrdClientMessageReadPartialAnswer (XReqErrorType &, size_t &, ClientRequest *, bool, void **, EThreeStateReadHandler &)
 
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
 
XrdClientAbs * fRedirHandler
 
XrdOucString fRedirInternalToken
 
XrdSysCondVar * fREQWaitResp
 
ServerResponseBody_Attn_asynresp * fREQWaitRespData
 
time_t fREQWaitTimeLimit
 
XrdSysCondVar * fREQWait
 
time_t fREQConnectWaitTimeLimit
 
XrdSysCondVar * fREQConnectWait
 
long fServerProto
 
ERemoteServerType fServerType
 
SessionIDInfo mySessionID
 
int fOpenSockFD
 
XrdSysCondVar * fWriteWaitAck
 
XrdClientVector< ClientRequest > fWriteReqsToRetry
 
XrdClientUrlInfo * fMetaUrl
 
bool fLBSIsMeta
 

Static Private Attributes

static XrdOucString fgClientHostDomain
 
static XrdSysMutex fSessionIDRMutex
 
static XrdOucHash< SessionIDInfofSessionIDRepo
 
static XrdClientConnectionMgrfgConnectionMgr
 

#include </mnt/vdb/lsf/workspace/root-makedoc-v606/rootspi/rdoc/src/v6-06-00-patches/proof/xrdinc/XrdClient/XrdClientConn.hh>

+ Collaboration diagram for XrdClientConn:

Member Enumeration Documentation

Enumerator
kSEHRReturnMsgToCaller 
kSEHRBreakLoop 
kSEHRContinue 
kSEHRReturnNoMsgToCaller 
kSEHRRedirLimitReached 

Definition at line 58 of file XrdClientConn.hh.

Enumerator
kTSRHReturnMex 
kTSRHReturnNullMex 
kTSRHContinue 

Definition at line 65 of file XrdClientConn.hh.

Constructor & Destructor Documentation

XrdClientConn::XrdClientConn ( )
virtual XrdClientConn::~XrdClientConn ( )
virtual

Member Function Documentation

bool XrdClientConn::CacheWillFit ( long long  bytes)
inline

Definition at line 86 of file XrdClientConn.hh.

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

Definition at line 233 of file XrdClientConn.hh.

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 
)
static void XrdClientConn::DelSessionIDRepo ( )
inlinestatic

Definition at line 314 of file XrdClientConn.hh.

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 ( )
virtual 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

Definition at line 151 of file XrdClientConn.hh.

XrdOucString XrdClientConn::GetClientHostDomain ( )
inline

Definition at line 99 of file XrdClientConn.hh.

static XrdClientConnectionMgr* XrdClientConn::GetConnectionMgr ( )
inlinestatic

Definition at line 311 of file XrdClientConn.hh.

XrdClientUrlInfo XrdClientConn::GetCurrentUrl ( )
inline

Definition at line 218 of file XrdClientConn.hh.

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

Definition at line 216 of file XrdClientConn.hh.

int XrdClientConn::GetLogConnID ( ) const
inline

Definition at line 210 of file XrdClientConn.hh.

short XrdClientConn::GetMaxRedirCnt ( ) const
inline

Definition at line 323 of file XrdClientConn.hh.

XrdClientUrlInfo* XrdClientConn::GetMetaUrl ( )
inline

Definition at line 217 of file XrdClientConn.hh.

XErrorCode XrdClientConn::GetOpenError ( ) const
inline

Definition at line 221 of file XrdClientConn.hh.

int XrdClientConn::GetOpenSockFD ( ) const
inline

Definition at line 246 of file XrdClientConn.hh.

int XrdClientConn::GetParallelStreamCount ( )
int XrdClientConn::GetParallelStreamToUse ( int  reqsperstream)
static XrdClientPhyConnection* XrdClientConn::GetPhyConn ( int  LogConnID)
static
short XrdClientConn::GetRedirCnt ( ) const
inline

Definition at line 325 of file XrdClientConn.hh.

XrdClientUrlInfo XrdClientConn::GetRedirUrl ( )
inline

Definition at line 219 of file XrdClientConn.hh.

long XrdClientConn::GetServerProtocol ( )
inline

Definition at line 321 of file XrdClientConn.hh.

ERemoteServerType XrdClientConn::GetServerType ( ) const
inline

Definition at line 212 of file XrdClientConn.hh.

void XrdClientConn::GetSessionID ( SessionIDInfo sess)
inline

Definition at line 319 of file XrdClientConn.hh.

kXR_unt16 XrdClientConn::GetStreamID ( ) const
inline

Definition at line 214 of file XrdClientConn.hh.

XReqErrorType XrdClientConn::GoBackToRedirector ( )
virtual XReqErrorType XrdClientConn::GoToAnotherServer ( XrdClientUrlInfo &  newdest)
virtual
virtual XReqErrorType XrdClientConn::GoToMetaManager ( )
virtual
ESrvErrorHandlerRetval XrdClientConn::HandleServerError ( XReqErrorType &  ,
XrdClientMessage ,
ClientRequest *   
)
private
bool XrdClientConn::IsConnected ( ) const
inline

Definition at line 224 of file XrdClientConn.hh.

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

Definition at line 145 of file XrdClientConn.hh.

UnsolRespProcResult XrdClientConn::ProcessAsynResp ( XrdClientMessage unsolmsg)
XrdClientMessage* XrdClientConn::ReadPartialAnswer ( XReqErrorType &  ,
size_t ,
ClientRequest *  ,
bool  ,
void **  ,
EThreeStateReadHandler  
)
private
void XrdClientConn::RemoveAllDataFromCache ( bool  keepwriteblocks = true)
inline

Definition at line 129 of file XrdClientConn.hh.

void XrdClientConn::RemoveDataFromCache ( long long  begin_offs,
long long  end_offs,
bool  remove_overlapped = false 
)
inline

Definition at line 134 of file XrdClientConn.hh.

void XrdClientConn::RemovePlaceholdersFromCache ( )
inline

Definition at line 140 of file XrdClientConn.hh.

virtual 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

Definition at line 195 of file XrdClientConn.hh.

void XrdClientConn::SetCacheSize ( int  CacheSize)
inline

Definition at line 187 of file XrdClientConn.hh.

void XrdClientConn::SetClientHostDomain ( const char *  src)
inline

Definition at line 248 of file XrdClientConn.hh.

void XrdClientConn::SetConnected ( bool  conn)
inline

Definition at line 249 of file XrdClientConn.hh.

void XrdClientConn::SetLogConnID ( int  cid)
inlineprotected

Definition at line 339 of file XrdClientConn.hh.

void XrdClientConn::SetMaxRedirCnt ( short  mx)
inline

Definition at line 324 of file XrdClientConn.hh.

void XrdClientConn::SetOpenError ( XErrorCode  err)
inline

Definition at line 251 of file XrdClientConn.hh.

void XrdClientConn::SetOpTimeLimit ( int  delta_secs)
void XrdClientConn::SetRedirHandler ( XrdClientAbs *  rh)
inline

Definition at line 257 of file XrdClientConn.hh.

void XrdClientConn::SetREQDelayedConnectState ( kXR_int32  wsec)
inline

Definition at line 286 of file XrdClientConn.hh.

void XrdClientConn::SetREQPauseState ( kXR_int32  wsec)
inline

Definition at line 268 of file XrdClientConn.hh.

void XrdClientConn::SetRequestedDestHost ( char *  newh,
kXR_int32  port 
)
inline

Definition at line 259 of file XrdClientConn.hh.

void XrdClientConn::SetSID ( kXR_char *  sid)
void XrdClientConn::SetStreamID ( kXR_unt16  sid)
inlineprotected

Definition at line 340 of file XrdClientConn.hh.

void XrdClientConn::SetUrl ( XrdClientUrlInfo  thisUrl)
inline

Definition at line 302 of file XrdClientConn.hh.

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

Definition at line 122 of file XrdClientConn.hh.

bool XrdClientConn::SubmitRawDataToCache ( const void buffer,
long long  begin_offs,
long long  end_offs 
)
void XrdClientConn::UnPinCacheBlk ( long long  begin_offs,
long long  end_offs 
)
inline

Definition at line 200 of file XrdClientConn.hh.

void XrdClientConn::UnPinCacheBlk ( )
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

Definition at line 356 of file XrdClientConn.hh.

Referenced by IsConnected(), and SetConnected().

XrdOucString XrdClientConn::fgClientHostDomain
staticprivate

Definition at line 355 of file XrdClientConn.hh.

Referenced by GetClientHostDomain(), and SetClientHostDomain().

XrdClientConnectionMgr* XrdClientConn::fgConnectionMgr
staticprivate

Definition at line 399 of file XrdClientConn.hh.

Referenced by GetConnectionMgr().

bool XrdClientConn::fGettingAccessToSrv
private

Definition at line 357 of file XrdClientConn.hh.

short XrdClientConn::fGlobalRedirCnt
protected

Definition at line 351 of file XrdClientConn.hh.

Referenced by GetRedirCnt().

time_t XrdClientConn::fGlobalRedirLastUpdateTimestamp
private

Definition at line 358 of file XrdClientConn.hh.

int XrdClientConn::fLastDataBytesRecv

Definition at line 76 of file XrdClientConn.hh.

int XrdClientConn::fLastDataBytesSent

Definition at line 77 of file XrdClientConn.hh.

bool XrdClientConn::fLBSIsMeta
private

Definition at line 448 of file XrdClientConn.hh.

XrdClientUrlInfo* XrdClientConn::fLBSUrl
protected

Definition at line 348 of file XrdClientConn.hh.

Referenced by GetLBSUrl().

int XrdClientConn::fLogConnID
private

Definition at line 360 of file XrdClientConn.hh.

Referenced by GetLogConnID(), and SetLogConnID().

XrdClientReadCache* XrdClientConn::fMainReadCache
private
short XrdClientConn::fMaxGlobalRedirCnt
private

Definition at line 365 of file XrdClientConn.hh.

Referenced by GetMaxRedirCnt(), and SetMaxRedirCnt().

XrdClientUrlInfo* XrdClientConn::fMetaUrl
private

Definition at line 447 of file XrdClientConn.hh.

Referenced by GetMetaUrl().

XErrorCode XrdClientConn::fOpenError

Definition at line 78 of file XrdClientConn.hh.

Referenced by GetOpenError().

int XrdClientConn::fOpenSockFD
private

Definition at line 398 of file XrdClientConn.hh.

Referenced by GetOpenSockFD().

time_t XrdClientConn::fOpTimeLimit
private

Definition at line 369 of file XrdClientConn.hh.

kXR_unt16 XrdClientConn::fPrimaryStreamid
private

Definition at line 361 of file XrdClientConn.hh.

Referenced by GetStreamID(), and SetStreamID().

XrdOucString XrdClientConn::fRedirCGI

Definition at line 451 of file XrdClientConn.hh.

XrdClientAbs* XrdClientConn::fRedirHandler
private

Definition at line 371 of file XrdClientConn.hh.

Referenced by SetRedirHandler().

XrdOucString XrdClientConn::fRedirInternalToken
private

Definition at line 375 of file XrdClientConn.hh.

XrdOucString XrdClientConn::fRedirOpaque

Definition at line 80 of file XrdClientConn.hh.

XrdSysCondVar* XrdClientConn::fREQConnectWait
private

Definition at line 385 of file XrdClientConn.hh.

Referenced by SetREQDelayedConnectState().

time_t XrdClientConn::fREQConnectWaitTimeLimit
private

Definition at line 384 of file XrdClientConn.hh.

Referenced by SetREQDelayedConnectState().

XrdClientUrlInfo XrdClientConn::fREQUrl
protected

Definition at line 349 of file XrdClientConn.hh.

Referenced by GetRedirUrl(), and SetRequestedDestHost().

XrdSysCondVar* XrdClientConn::fREQWait
private

Definition at line 383 of file XrdClientConn.hh.

Referenced by SetREQPauseState().

XrdSysCondVar* XrdClientConn::fREQWaitResp
private

Definition at line 378 of file XrdClientConn.hh.

ServerResponseBody_Attn_asynresp* XrdClientConn::fREQWaitRespData
private

Definition at line 380 of file XrdClientConn.hh.

time_t XrdClientConn::fREQWaitTimeLimit
private

Definition at line 382 of file XrdClientConn.hh.

Referenced by SetREQPauseState().

long XrdClientConn::fServerProto
private

Definition at line 387 of file XrdClientConn.hh.

Referenced by GetServerProtocol().

ERemoteServerType XrdClientConn::fServerType
private

Definition at line 388 of file XrdClientConn.hh.

Referenced by GetServerType().

XrdOucHash<SessionIDInfo> XrdClientConn::fSessionIDRepo
staticprivate

Definition at line 394 of file XrdClientConn.hh.

Referenced by DelSessionIDRepo().

XrdSysMutex XrdClientConn::fSessionIDRMutex
staticprivate

Definition at line 392 of file XrdClientConn.hh.

Referenced by DelSessionIDRepo().

XrdClientAbsUnsolMsgHandler* XrdClientConn::fUnsolMsgHandler
protected

Definition at line 345 of file XrdClientConn.hh.

XrdClientUrlInfo XrdClientConn::fUrl
protected

Definition at line 347 of file XrdClientConn.hh.

Referenced by GetCurrentUrl(), SetRequestedDestHost(), and SetUrl().

XrdClientVector<ClientRequest> XrdClientConn::fWriteReqsToRetry
private

Definition at line 402 of file XrdClientConn.hh.

XrdSysCondVar* XrdClientConn::fWriteWaitAck
private

Definition at line 401 of file XrdClientConn.hh.

Referenced by UnPinCacheBlk().

struct ServerResponseBody_Error XrdClientConn::LastServerError

Definition at line 230 of file XrdClientConn.hh.

Referenced by ClearLastServerError().

struct ServerResponseHeader XrdClientConn::LastServerResp

Definition at line 227 of file XrdClientConn.hh.

SessionIDInfo XrdClientConn::mySessionID
private

Definition at line 389 of file XrdClientConn.hh.

Referenced by GetSessionID().


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