XrdCmsClientMsg Class Reference

#include <XrdCmsClientMsg.hh>

List of all members.

Public Member Functions

int getResult ()
int ID ()
void Lock ()
void Recycle ()
void UnLock ()
int Wait4Reply (int wtime)
 XrdCmsClientMsg ()
 ~XrdCmsClientMsg ()

Static Public Member Functions

static XrdCmsClientMsgAlloc (XrdOucErrInfo *erp)
static int Init ()
static int inQ ()
static int Reply (const char *Man, XrdCms::CmsRRHdr &hdr, XrdNetBuffer *buff)

Static Private Member Functions

static XrdCmsClientMsgRemFromWaitQ (int msgid)

Private Attributes

XrdCmsClientMsgnext
XrdSysCondVar Hold
int inwaitq
int id
XrdOucErrInfoResp
int Result

Static Private Attributes

static const int MidMask = 1023
static const int MaxMsgs = 1024
static const int MidIncr = 1024
static const int IncMask = 0x3ffffc00
static int nextid
static int numinQ
static XrdCmsClientMsgmsgTab
static XrdCmsClientMsgnextfree
static XrdSysMutex FreeMsgQ


Detailed Description

Definition at line 22 of file XrdCmsClientMsg.hh.


Constructor & Destructor Documentation

XrdCmsClientMsg::XrdCmsClientMsg (  )  [inline]

Definition at line 46 of file XrdCmsClientMsg.hh.

References inwaitq, next, Resp, and Result.

XrdCmsClientMsg::~XrdCmsClientMsg (  )  [inline]

Definition at line 47 of file XrdCmsClientMsg.hh.


Member Function Documentation

XrdCmsClientMsg * XrdCmsClientMsg::Alloc ( XrdOucErrInfo erp  )  [static]

Definition at line 46 of file XrdCmsClientMsg.cc.

References FreeMsgQ, Hold, id, IncMask, inwaitq, XrdSysMutex::Lock(), XrdSysCondVar::Lock(), MidIncr, MidMask, next, nextfree, nextid, numinQ, Resp, and XrdSysMutex::UnLock().

Referenced by XrdCmsFinderRMT::send2Man().

int XrdCmsClientMsg::getResult (  )  [inline]

Definition at line 28 of file XrdCmsClientMsg.hh.

References Result.

Referenced by XrdCmsFinderRMT::send2Man().

int XrdCmsClientMsg::ID (  )  [inline]

Definition at line 30 of file XrdCmsClientMsg.hh.

References id.

Referenced by XrdCmsFinderRMT::send2Man().

int XrdCmsClientMsg::Init (  )  [static]

Definition at line 77 of file XrdCmsClientMsg.cc.

References i, id, MaxMsgs, msgTab, next, nextfree, and nextid.

Referenced by XrdCmsClientConfig::Configure().

static int XrdCmsClientMsg::inQ (  )  [inline, static]

Definition at line 34 of file XrdCmsClientMsg.hh.

References numinQ.

Referenced by XrdCmsClientMan::whatsUp().

void XrdCmsClientMsg::Lock (  )  [inline]

Definition at line 36 of file XrdCmsClientMsg.hh.

References Hold, and XrdSysCondVar::Lock().

void XrdCmsClientMsg::Recycle (  ) 

Definition at line 104 of file XrdCmsClientMsg.cc.

References FreeMsgQ, Hold, inwaitq, XrdSysMutex::Lock(), next, nextfree, numinQ, Resp, XrdSysCondVar::UnLock(), and XrdSysMutex::UnLock().

Referenced by XrdCmsFinderRMT::send2Man().

int XrdCmsClientMsg::Reply ( const char *  Man,
XrdCms::CmsRRHdr hdr,
XrdNetBuffer buff 
) [static]

Definition at line 128 of file XrdCmsClientMsg.cc.

References XrdNetBuffer::data, DEBUG, XrdCmsParser::Decode(), XrdNetBuffer::dlen, EPNAME, Hold, RemFromWaitQ(), Resp, Result, XrdSysCondVar::Signal(), XrdCms::CmsRRHdr::streamid, and XrdSysCondVar::UnLock().

Referenced by XrdCmsClientMan::Start().

void XrdCmsClientMsg::UnLock ( void   )  [inline]

Definition at line 42 of file XrdCmsClientMsg.hh.

References Hold, and XrdSysCondVar::UnLock().

int XrdCmsClientMsg::Wait4Reply ( int  wtime  )  [inline]

Definition at line 44 of file XrdCmsClientMsg.hh.

References Hold, and XrdSysCondVar::Wait().

Referenced by XrdCmsFinderRMT::send2Man().

XrdCmsClientMsg * XrdCmsClientMsg::RemFromWaitQ ( int  msgid  )  [static, private]

Definition at line 162 of file XrdCmsClientMsg.cc.

References Hold, inwaitq, XrdSysCondVar::Lock(), MidMask, msgTab, and XrdSysCondVar::UnLock().

Referenced by Reply().


Member Data Documentation

const int XrdCmsClientMsg::MidMask = 1023 [static, private]

Definition at line 50 of file XrdCmsClientMsg.hh.

Referenced by Alloc(), and RemFromWaitQ().

const int XrdCmsClientMsg::MaxMsgs = 1024 [static, private]

Definition at line 51 of file XrdCmsClientMsg.hh.

Referenced by Init().

const int XrdCmsClientMsg::MidIncr = 1024 [static, private]

Definition at line 52 of file XrdCmsClientMsg.hh.

Referenced by Alloc().

const int XrdCmsClientMsg::IncMask = 0x3ffffc00 [static, private]

Definition at line 53 of file XrdCmsClientMsg.hh.

Referenced by Alloc().

int XrdCmsClientMsg::nextid [static, private]

Definition at line 56 of file XrdCmsClientMsg.hh.

Referenced by Alloc(), and Init().

int XrdCmsClientMsg::numinQ [static, private]

Definition at line 57 of file XrdCmsClientMsg.hh.

Referenced by Alloc(), inQ(), and Recycle().

XrdCmsClientMsg * XrdCmsClientMsg::msgTab [static, private]

Definition at line 59 of file XrdCmsClientMsg.hh.

Referenced by Init(), and RemFromWaitQ().

XrdCmsClientMsg * XrdCmsClientMsg::nextfree [static, private]

Definition at line 60 of file XrdCmsClientMsg.hh.

Referenced by Alloc(), Init(), and Recycle().

XrdSysMutex XrdCmsClientMsg::FreeMsgQ [static, private]

Definition at line 61 of file XrdCmsClientMsg.hh.

Referenced by Alloc(), and Recycle().

XrdCmsClientMsg* XrdCmsClientMsg::next [private]

Definition at line 63 of file XrdCmsClientMsg.hh.

Referenced by Alloc(), Init(), Recycle(), and XrdCmsClientMsg().

XrdSysCondVar XrdCmsClientMsg::Hold [private]

Definition at line 64 of file XrdCmsClientMsg.hh.

Referenced by Alloc(), Lock(), Recycle(), RemFromWaitQ(), Reply(), UnLock(), and Wait4Reply().

int XrdCmsClientMsg::inwaitq [private]

Definition at line 65 of file XrdCmsClientMsg.hh.

Referenced by Alloc(), Recycle(), RemFromWaitQ(), and XrdCmsClientMsg().

int XrdCmsClientMsg::id [private]

Definition at line 66 of file XrdCmsClientMsg.hh.

Referenced by Alloc(), ID(), and Init().

XrdOucErrInfo* XrdCmsClientMsg::Resp [private]

Definition at line 67 of file XrdCmsClientMsg.hh.

Referenced by Alloc(), Recycle(), Reply(), and XrdCmsClientMsg().

int XrdCmsClientMsg::Result [private]

Definition at line 68 of file XrdCmsClientMsg.hh.

Referenced by getResult(), Reply(), and XrdCmsClientMsg().


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