#include <XrdCmsResp.hh>
Inheritance diagram for XrdCmsResp:
Public Member Functions | |
void | Done (int &Result, XrdOucErrInfo *eInfo) |
int | ID () |
void | Reply (const char *Man, XrdCms::CmsRRHdr &rrhdr, XrdNetBuffer *netbuff) |
int | Same (unsigned long long arg1, unsigned long long arg2) |
XrdCmsResp () | |
~XrdCmsResp () | |
Static Public Member Functions | |
static XrdCmsResp * | Alloc (XrdOucErrInfo *erp, int msgid) |
static void | Reply () |
static void | setDelay (int repdly) |
Private Member Functions | |
void | Recycle () |
void | ReplyXeq () |
Private Attributes | |
XrdCms::CmsRRHdr | myRRHdr |
XrdNetBuffer * | myBuff |
char | theMan [64] |
XrdCmsRespCB | SyncCB |
XrdCmsResp * | next |
int | myID |
char | UserID [64] |
Static Private Attributes | |
static XrdSysSemaphore | isReady |
static XrdSysMutex | rdyMutex |
static XrdCmsResp * | First |
static XrdCmsResp * | Last |
static XrdSysMutex | myMutex |
static XrdCmsResp * | nextFree |
static int | numFree |
static const int | maxFree = 300 |
static int | RepDelay |
Friends | |
class | XrdCmsRespQ |
Definition at line 52 of file XrdCmsResp.hh.
XrdCmsResp::XrdCmsResp | ( | ) | [inline] |
XrdCmsResp::~XrdCmsResp | ( | ) | [inline] |
Definition at line 74 of file XrdCmsResp.hh.
XrdCmsResp * XrdCmsResp::Alloc | ( | XrdOucErrInfo * | erp, | |
int | msgid | |||
) | [static] |
Definition at line 50 of file XrdCmsResp.cc.
References XrdOucErrInfo::ErrCB, XrdOucErrInfo::ErrCBarg, XrdOucErrInfo::getErrCB(), XrdOucErrInfo::getErrText(), XrdOucErrInfo::getErrUser(), XrdCmsRespCB::Init(), XrdSysMutex::Lock(), myID, myMutex, next, nextFree, numFree, XrdOucErrInfo::setErrCB(), XrdOucErrInfo::setErrInfo(), strlcpy(), SyncCB, XrdSysMutex::UnLock(), UserID, and XrdCmsResp().
Referenced by XrdCmsClientMan::delayResp().
void XrdCmsResp::Done | ( | int & | Result, | |
XrdOucErrInfo * | eInfo | |||
) | [inline, virtual] |
int XrdCmsResp::ID | ( | ) | [inline] |
Definition at line 61 of file XrdCmsResp.hh.
void XrdCmsResp::Reply | ( | const char * | Man, | |
XrdCms::CmsRRHdr & | rrhdr, | |||
XrdNetBuffer * | netbuff | |||
) |
Definition at line 117 of file XrdCmsResp.cc.
References First, isReady, Last, XrdSysMutex::Lock(), myBuff, myRRHdr, next, XrdSysSemaphore::Post(), rdyMutex, strlcpy(), theMan, and XrdSysMutex::UnLock().
Referenced by XrdCmsClientMan::relayResp().
void XrdCmsResp::Reply | ( | ) | [static] |
Definition at line 143 of file XrdCmsResp.cc.
References First, isReady, Last, XrdSysMutex::Lock(), next, rdyMutex, ReplyXeq(), XrdSysMutex::UnLock(), and XrdSysSemaphore::Wait().
Referenced by XrdCmsStartResp().
static void XrdCmsResp::setDelay | ( | int | repdly | ) | [inline, static] |
Definition at line 71 of file XrdCmsResp.hh.
void XrdCmsResp::Recycle | ( | ) | [private] |
Definition at line 92 of file XrdCmsResp.cc.
References XrdSysMutex::Lock(), maxFree, myBuff, myMutex, next, nextFree, numFree, XrdNetBuffer::Recycle(), and XrdSysMutex::UnLock().
Referenced by ReplyXeq().
void XrdCmsResp::ReplyXeq | ( | ) | [private] |
Definition at line 164 of file XrdCmsResp.cc.
References XrdNetBuffer::data, DEBUG, XrdCmsParser::Decode(), XrdNetBuffer::dlen, XrdOucEICB::Done(), XrdSysError::Emsg(), EPNAME, XrdOucErrInfo::ErrCB, myBuff, myRRHdr, Recycle(), XrdFrm::Say(), SFS_DATA, SFS_ERROR, SFS_REDIRECT, SFS_STALL, sprintf(), XrdCms::CmsRRHdr::streamid, SyncCB, theMan, UserID, and XrdCmsRespCB::Wait().
Referenced by Reply().
friend class XrdCmsRespQ [friend] |
Definition at line 55 of file XrdCmsResp.hh.
XrdSysSemaphore XrdCmsResp::isReady [static, private] |
XrdSysMutex XrdCmsResp::rdyMutex [static, private] |
XrdCmsResp * XrdCmsResp::First [static, private] |
XrdCmsResp * XrdCmsResp::Last [static, private] |
XrdSysMutex XrdCmsResp::myMutex [static, private] |
XrdCmsResp * XrdCmsResp::nextFree [static, private] |
int XrdCmsResp::numFree [static, private] |
const int XrdCmsResp::maxFree = 300 [static, private] |
int XrdCmsResp::RepDelay [static, private] |
Definition at line 89 of file XrdCmsResp.hh.
XrdCms::CmsRRHdr XrdCmsResp::myRRHdr [private] |
XrdNetBuffer* XrdCmsResp::myBuff [private] |
char XrdCmsResp::theMan[64] [private] |
XrdCmsRespCB XrdCmsResp::SyncCB [private] |
XrdCmsResp* XrdCmsResp::next [private] |
Definition at line 96 of file XrdCmsResp.hh.
Referenced by XrdCmsRespQ::Add(), Alloc(), XrdCmsRespQ::Purge(), Recycle(), XrdCmsRespQ::Rem(), and Reply().
int XrdCmsResp::myID [private] |
Definition at line 97 of file XrdCmsResp.hh.
Referenced by XrdCmsRespQ::Add(), Alloc(), and XrdCmsRespQ::Rem().
char XrdCmsResp::UserID[64] [private] |