#include <XrdCmsResp.hh>


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 = 0 |
| static XrdCmsResp * | Last = 0 |
| static XrdSysMutex | myMutex |
| static XrdCmsResp * | nextFree = 0 |
| static int | numFree = 0 |
| static const int | maxFree = 300 |
| static int | RepDelay = 5 |
Friends | |
| class | XrdCmsRespQ |
| XrdCmsResp::~XrdCmsResp | ( | ) | [inline] |
| XrdCmsResp * XrdCmsResp::Alloc | ( | XrdOucErrInfo * | erp, | |
| int | msgid | |||
| ) | [static] |
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] |
References Recycle().
| int XrdCmsResp::ID | ( | ) | [inline] |
References myID.
| void XrdCmsResp::Recycle | ( | ) | [private] |
References XrdSysMutex::Lock(), maxFree, myBuff, myMutex, next, nextFree, numFree, XrdNetBuffer::Recycle(), and XrdSysMutex::UnLock().
Referenced by Done(), and ReplyXeq().
| void XrdCmsResp::Reply | ( | const char * | Man, | |
| XrdCms::CmsRRHdr & | rrhdr, | |||
| XrdNetBuffer * | netbuff | |||
| ) |
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] |
References First, isReady, Last, XrdSysMutex::Lock(), next, rdyMutex, ReplyXeq(), XrdSysMutex::UnLock(), and XrdSysSemaphore::Wait().
Referenced by XrdCmsStartResp().
| void XrdCmsResp::ReplyXeq | ( | ) | [private] |
References XrdNetBuffer::data, DEBUG, XrdCmsParser::Decode(), XrdNetBuffer::dlen, XrdOucEICB::Done(), EPNAME, XrdOucErrInfo::ErrCB, myBuff, myRRHdr, Recycle(), Say, XrdCms::CmsRRHdr::streamid, SyncCB, theMan, UserID, and XrdCmsRespCB::Wait().
Referenced by Reply().
| int XrdCmsResp::Same | ( | unsigned long long | arg1, | |
| unsigned long long | arg2 | |||
| ) | [inline] |
| static void XrdCmsResp::setDelay | ( | int | repdly | ) | [inline, static] |
References RepDelay.
friend class XrdCmsRespQ [friend] |
XrdCmsResp * XrdCmsResp::First = 0 [static, private] |
Referenced by Reply().
XrdSysSemaphore XrdCmsResp::isReady [static, private] |
Referenced by Reply().
XrdCmsResp * XrdCmsResp::Last = 0 [static, private] |
Referenced by Reply().
const int XrdCmsResp::maxFree = 300 [static, private] |
Referenced by Recycle().
XrdNetBuffer* XrdCmsResp::myBuff [private] |
Referenced by Recycle(), Reply(), ReplyXeq(), and XrdCmsResp().
int XrdCmsResp::myID [private] |
Referenced by XrdCmsRespQ::Add(), Alloc(), ID(), and XrdCmsRespQ::Rem().
XrdSysMutex XrdCmsResp::myMutex [static, private] |
XrdCms::CmsRRHdr XrdCmsResp::myRRHdr [private] |
Referenced by Reply(), and ReplyXeq().
XrdCmsResp* XrdCmsResp::next [private] |
Referenced by XrdCmsRespQ::Add(), Alloc(), XrdCmsRespQ::Purge(), Recycle(), XrdCmsRespQ::Rem(), Reply(), and XrdCmsResp().
XrdCmsResp * XrdCmsResp::nextFree = 0 [static, private] |
int XrdCmsResp::numFree = 0 [static, private] |
XrdSysMutex XrdCmsResp::rdyMutex [static, private] |
Referenced by Reply().
int XrdCmsResp::RepDelay = 5 [static, private] |
Referenced by setDelay().
XrdCmsRespCB XrdCmsResp::SyncCB [private] |
Referenced by Alloc(), and ReplyXeq().
char XrdCmsResp::theMan[64] [private] |
Referenced by Reply(), and ReplyXeq().
char XrdCmsResp::UserID[64] [private] |
Referenced by Alloc(), and ReplyXeq().
1.7.1