#include <XrdCmsClientMsg.hh>
Public Member Functions | |
int | getResult () |
int | ID () |
void | Lock () |
void | Recycle () |
void | UnLock () |
int | Wait4Reply (int wtime) |
XrdCmsClientMsg () | |
~XrdCmsClientMsg () | |
Static Public Member Functions | |
static XrdCmsClientMsg * | Alloc (XrdOucErrInfo *erp) |
static int | Init () |
static int | inQ () |
static int | Reply (const char *Man, XrdCms::CmsRRHdr &hdr, XrdNetBuffer *buff) |
Static Private Member Functions | |
static XrdCmsClientMsg * | RemFromWaitQ (int msgid) |
Private Attributes | |
XrdCmsClientMsg * | next |
XrdSysCondVar | Hold |
int | inwaitq |
int | id |
XrdOucErrInfo * | Resp |
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 XrdCmsClientMsg * | msgTab |
static XrdCmsClientMsg * | nextfree |
static XrdSysMutex | FreeMsgQ |
Definition at line 22 of file XrdCmsClientMsg.hh.
XrdCmsClientMsg::XrdCmsClientMsg | ( | ) | [inline] |
XrdCmsClientMsg::~XrdCmsClientMsg | ( | ) | [inline] |
Definition at line 47 of file XrdCmsClientMsg.hh.
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] |
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] |
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().
const int XrdCmsClientMsg::MidMask = 1023 [static, private] |
const int XrdCmsClientMsg::MaxMsgs = 1024 [static, private] |
const int XrdCmsClientMsg::MidIncr = 1024 [static, private] |
const int XrdCmsClientMsg::IncMask = 0x3ffffc00 [static, private] |
int XrdCmsClientMsg::nextid [static, private] |
int XrdCmsClientMsg::numinQ [static, private] |
XrdCmsClientMsg * XrdCmsClientMsg::msgTab [static, private] |
XrdCmsClientMsg * XrdCmsClientMsg::nextfree [static, private] |
XrdSysMutex XrdCmsClientMsg::FreeMsgQ [static, private] |
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] |
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().