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 XrdClientPhyConnection * GetPhyConn (int LogConnID)
 
static XrdClientConnectionMgr * GetConnectionMgr ()
 
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)
 
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 &)
 
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
 
SessionIDInfo mySessionID
 
int fOpenSockFD
 
XrdSysCondVar * fWriteWaitAck
 
XrdClientVector< ClientRequest > fWriteReqsToRetry
 
XrdClientUrlInfo * fMetaUrl
 
bool fLBSIsMeta
 

Static Private Attributes

static XrdOucString fgClientHostDomain
 
static XrdSysMutex fSessionIDRMutex
 
static XrdOucHash< SessionIDInfo > fSessionIDRepo
 
static XrdClientConnectionMgr * fgConnectionMgr
 

#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: