XrdClientConnectionMgr Class Reference

#include <XrdClientConnMgr.hh>

Inheritance diagram for XrdClientConnectionMgr:

XrdClientAbsUnsolMsgHandler XrdClientUnsolMsgSender List of all members.

Public Member Functions

 XrdClientConnectionMgr ()
virtual ~XrdClientConnectionMgr ()
int Connect (XrdClientUrlInfo RemoteAddress)
void Disconnect (int LogConnectionID, bool ForcePhysicalDisc)
void GarbageCollect ()
XrdClientLogConnectionGetConnection (int LogConnectionID)
XrdClientPhyConnectionGetPhyConnection (XrdClientUrlInfo server)
XrdClientMessageReadMsg (int LogConnectionID)
int ReadRaw (int LogConnectionID, void *buffer, int BufferLength)
int WriteRaw (int LogConnectionID, const void *buffer, int BufferLength, int substreamid)
XrdClientSidSidManager ()

Private Member Functions

UnsolRespProcResult ProcessUnsolicitedMsg (XrdClientUnsolMsgSender *sender, XrdClientMessage *unsolmsg)

Private Attributes

XrdClientSidfSidManager
XrdClientVector< XrdClientLogConnection * > fLogVec
XrdOucHash< XrdClientPhyConnectionfPhyHash
int fLastLogIdUsed
XrdClientVector< XrdClientPhyConnection * > fPhyTrash
XrdOucHash< CndVarInfofConnectingCondVars
XrdSysRecMutex fMutex
XrdClientThreadfGarbageColl

Friends

void * GarbageCollectorThread (void *, XrdClientThread *thr)
int DisconnectElapsedPhyConn (const char *, XrdClientPhyConnection *, void *)
int DestroyPhyConn (const char *, XrdClientPhyConnection *, void *)

Classes

class  CndVarInfo

Detailed Description

Definition at line 40 of file XrdClientConnMgr.hh.


Constructor & Destructor Documentation

XrdClientConnectionMgr::XrdClientConnectionMgr (  ) 

Definition at line 155 of file XrdClientConnMgr.cc.

References Error, fGarbageColl, fLastLogIdUsed, fSidManager, GarbageCollectorThread, and XrdClientThread::Run().

XrdClientConnectionMgr::~XrdClientConnectionMgr (  )  [virtual]

Definition at line 183 of file XrdClientConnMgr.cc.

References XrdOucHash< T >::Apply(), XrdClientThread::Cancel(), DestroyPhyConn, Disconnect(), FALSE, fGarbageColl, fLogVec, fMutex, fPhyHash, fSidManager, GarbageCollect(), XrdClientVector< T >::GetSize(), i, and XrdClientThread::Join().


Member Function Documentation

UnsolRespProcResult XrdClientConnectionMgr::ProcessUnsolicitedMsg ( XrdClientUnsolMsgSender sender,
XrdClientMessage unsolmsg 
) [private, virtual]

Implements XrdClientAbsUnsolMsgHandler.

Definition at line 655 of file XrdClientConnMgr.cc.

References fLogVec, fMutex, GetPhyConnection(), XrdClientVector< T >::GetSize(), i, kUNSOL_CONTINUE, XrdSysMutex::Lock(), and XrdSysMutex::UnLock().

int XrdClientConnectionMgr::Connect ( XrdClientUrlInfo  RemoteAddress  ) 

Definition at line 256 of file XrdClientConnMgr.cc.

References XrdOucHash< T >::Apply(), XrdSysCondVar::Broadcast(), XrdOucString::c_str(), XrdClientConnectionMgr::CndVarInfo::cnt, xmlio::cnt, XrdClientPhyConnection::Connect(), XrdClientPhyConnection::CountLogConn(), XrdClientConnectionMgr::CndVarInfo::cv, DebugLevel, DumpPhyConn(), DWORD, Error, FALSE, fConnectingCondVars, XrdOucHash< T >::Find(), fLastLogIdUsed, fLogVec, fMutex, fPhyHash, fPhyTrash, fSidManager, GarbageCollect(), XrdClientVector< T >::GetSize(), Hash_keepdata, XrdClientUrlInfo::Host, XrdClientUrlInfo::HostAddr, i, Info, XrdClientDebug::kHIDEBUG, length, XrdOucString::length(), XrdSysMutex::Lock(), XrdSysCondVar::Lock(), name, XrdOucHash< T >::Num(), p, XrdClientUrlInfo::Port, XrdClientVector< T >::Push_back(), XrdOucHash< T >::Rep(), XrdClientLogConnection::SetPhyConnection(), sizeof(), XrdClientLogConnection::Streamid(), XrdClientPhyConnection::Touch(), TRUE, XrdSysCondVar::UnLock(), XrdSysMutex::UnLock(), XrdClientUrlInfo::User, XrdSysCondVar::Wait(), XrdClientPhyConnection::WipeStreamid(), and XRC_MAXVECTSIZE.

Referenced by XrdProofConn::TryConnect().

void XrdClientConnectionMgr::Disconnect ( int  LogConnectionID,
bool  ForcePhysicalDisc 
)

Definition at line 508 of file XrdClientConnMgr.cc.

References Error, fLogVec, fMutex, GarbageCollect(), XrdClientVector< T >::GetSize(), Info, and XrdClientDebug::kHIDEBUG.

Referenced by XrdProofConn::Close(), and ~XrdClientConnectionMgr().

void XrdClientConnectionMgr::GarbageCollect (  ) 

Definition at line 211 of file XrdClientConnMgr.cc.

References XrdOucHash< T >::Apply(), DebugLevel, DisconnectElapsedPhyConn, DumpPhyConn(), XrdClientVector< T >::Erase(), fMutex, fPhyHash, fPhyTrash, XrdClientVector< T >::GetSize(), i, XrdClientDebug::kUSERDEBUG, and XrdOucHash< T >::Num().

Referenced by Connect(), Disconnect(), GarbageCollectorThread(), and ~XrdClientConnectionMgr().

XrdClientLogConnection * XrdClientConnectionMgr::GetConnection ( int  LogConnectionID  ) 

Definition at line 606 of file XrdClientConnMgr.cc.

References fLogVec, and fMutex.

Referenced by ReadMsg(), ReadRaw(), XrdProofConn::SetAsync(), XrdProofConn::TryConnect(), and WriteRaw().

XrdClientPhyConnection * XrdClientConnectionMgr::GetPhyConnection ( XrdClientUrlInfo  server  ) 

Definition at line 615 of file XrdClientConnMgr.cc.

References XrdOucString::c_str(), DWORD, XrdOucHash< T >::Find(), fPhyHash, XrdClientUrlInfo::Host, XrdClientUrlInfo::HostAddr, length, XrdOucString::length(), name, XrdOucHash< T >::Num(), p, XrdClientUrlInfo::Port, sizeof(), and XrdClientUrlInfo::User.

Referenced by ProcessUnsolicitedMsg().

XrdClientMessage * XrdClientConnectionMgr::ReadMsg ( int  LogConnectionID  ) 

Definition at line 570 of file XrdClientConnMgr.cc.

References GetConnection(), XrdClientLogConnection::GetPhyConnection(), XrdClientPhyConnection::ReadMessage(), and XrdClientLogConnection::Streamid().

Referenced by XrdProofConn::ReadMsg().

int XrdClientConnectionMgr::ReadRaw ( int  LogConnectionID,
void *  buffer,
int  BufferLength 
)

Definition at line 549 of file XrdClientConnMgr.cc.

References Error, GetConnection(), XrdClientLogConnection::ReadRaw(), and TXSOCK_ERR.

Referenced by XrdProofConn::ReadRaw().

int XrdClientConnectionMgr::WriteRaw ( int  LogConnectionID,
const void *  buffer,
int  BufferLength,
int  substreamid 
)

Definition at line 586 of file XrdClientConnMgr.cc.

References Error, GetConnection(), TXSOCK_ERR, and XrdClientLogConnection::WriteRaw().

Referenced by XrdProofConn::WriteRaw().

XrdClientSid* XrdClientConnectionMgr::SidManager (  )  [inline]

Definition at line 99 of file XrdClientConnMgr.hh.

References fSidManager.


Friends And Related Function Documentation

void* GarbageCollectorThread ( void *  arg,
XrdClientThread thr 
) [friend]

Definition at line 53 of file XrdClientConnMgr.cc.

Referenced by XrdClientConnectionMgr().

int DisconnectElapsedPhyConn ( const char *  key,
XrdClientPhyConnection p,
void *  voidcmgr 
) [friend]

Definition at line 81 of file XrdClientConnMgr.cc.

Referenced by GarbageCollect().

int DestroyPhyConn ( const char *  key,
XrdClientPhyConnection p,
void *  voidcmgr 
) [friend]

Definition at line 136 of file XrdClientConnMgr.cc.

Referenced by ~XrdClientConnectionMgr().


Member Data Documentation

XrdClientSid* XrdClientConnectionMgr::fSidManager [private]

Definition at line 44 of file XrdClientConnMgr.hh.

Referenced by Connect(), SidManager(), XrdClientConnectionMgr(), and ~XrdClientConnectionMgr().

XrdClientVector<XrdClientLogConnection*> XrdClientConnectionMgr::fLogVec [private]

Definition at line 46 of file XrdClientConnMgr.hh.

Referenced by Connect(), Disconnect(), GetConnection(), ProcessUnsolicitedMsg(), and ~XrdClientConnectionMgr().

XrdOucHash<XrdClientPhyConnection> XrdClientConnectionMgr::fPhyHash [private]

Definition at line 47 of file XrdClientConnMgr.hh.

Referenced by Connect(), GarbageCollect(), GetPhyConnection(), and ~XrdClientConnectionMgr().

int XrdClientConnectionMgr::fLastLogIdUsed [private]

Definition at line 50 of file XrdClientConnMgr.hh.

Referenced by Connect(), and XrdClientConnectionMgr().

XrdClientVector<XrdClientPhyConnection *> XrdClientConnectionMgr::fPhyTrash [private]

Definition at line 53 of file XrdClientConnMgr.hh.

Referenced by Connect(), DisconnectElapsedPhyConn(), and GarbageCollect().

XrdOucHash<CndVarInfo> XrdClientConnectionMgr::fConnectingCondVars [private]

Definition at line 66 of file XrdClientConnMgr.hh.

Referenced by Connect().

XrdSysRecMutex XrdClientConnectionMgr::fMutex [private]

Definition at line 68 of file XrdClientConnMgr.hh.

Referenced by Connect(), Disconnect(), GarbageCollect(), GetConnection(), ProcessUnsolicitedMsg(), and ~XrdClientConnectionMgr().

XrdClientThread* XrdClientConnectionMgr::fGarbageColl [private]

Definition at line 72 of file XrdClientConnMgr.hh.

Referenced by XrdClientConnectionMgr(), and ~XrdClientConnectionMgr().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:17 2011 for ROOT_528-00b_version by  doxygen 1.5.1