#include <XrdCmsResp.hh>
Public Member Functions | |
void | Done (int &Result, XrdOucErrInfo *eInfo, const char *Path=0) |
int | ID () |
void | Reply (const char *Man, XrdCms::CmsRRHdr &rrhdr, XrdOucBuffer *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 |
XrdOucBuffer * | myBuff |
char | theMan [128] |
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 |
XrdCmsResp::~XrdCmsResp | ( | ) | [inline] |
static XrdCmsResp* XrdCmsResp::Alloc | ( | XrdOucErrInfo * | erp, | |
int | msgid | |||
) | [static] |
void XrdCmsResp::Done | ( | int & | Result, | |
XrdOucErrInfo * | eInfo, | |||
const char * | Path = 0 | |||
) | [inline, virtual] |
Invoke a callback after an operation completes.
Result | - the original function's result (may be changed). | |
eInfo | - Associated error information. The eInfo object may not be modified until it's own callback Done() method is called, if supplied. If the callback function in eInfo is zero, then the eInfo object is deleted by the invoked callback. Otherwise, that method must be invoked by this callback function after the actual callback message is sent. This allows the callback requestor to do post-processing and be asynchronous being assured that the callback completed. | |
Path | - Optionally, the path related to thid request. It is used for tracing and detailed monitoring purposes. |
Implements XrdOucEICB.
References Recycle().
int XrdCmsResp::ID | ( | ) | [inline] |
References myID.
void XrdCmsResp::Recycle | ( | ) | [private] |
Referenced by Done().
static void XrdCmsResp::Reply | ( | ) | [static] |
void XrdCmsResp::Reply | ( | const char * | Man, | |
XrdCms::CmsRRHdr & | rrhdr, | |||
XrdOucBuffer * | netbuff | |||
) |
void XrdCmsResp::ReplyXeq | ( | ) | [private] |
int XrdCmsResp::Same | ( | unsigned long long | arg1, | |
unsigned long long | arg2 | |||
) | [inline, virtual] |
Determine if two callback arguments refer to the same client.
arg1 | - The first callback argument. | |
arg2 | - The second callback argument. |
Implements XrdOucEICB.
static void XrdCmsResp::setDelay | ( | int | repdly | ) | [inline, static] |
References RepDelay.
friend class XrdCmsRespQ [friend] |
XrdCmsResp* XrdCmsResp::First [static, private] |
XrdSysSemaphore XrdCmsResp::isReady [static, private] |
XrdCmsResp* XrdCmsResp::Last [static, private] |
const int XrdCmsResp::maxFree = 300 [static, private] |
XrdOucBuffer* XrdCmsResp::myBuff [private] |
Referenced by XrdCmsResp().
int XrdCmsResp::myID [private] |
Referenced by ID().
XrdSysMutex XrdCmsResp::myMutex [static, private] |
XrdCms::CmsRRHdr XrdCmsResp::myRRHdr [private] |
XrdCmsResp* XrdCmsResp::next [private] |
Referenced by XrdCmsResp().
XrdCmsResp* XrdCmsResp::nextFree [static, private] |
int XrdCmsResp::numFree [static, private] |
XrdSysMutex XrdCmsResp::rdyMutex [static, private] |
int XrdCmsResp::RepDelay [static, private] |
Referenced by setDelay().
XrdCmsRespCB XrdCmsResp::SyncCB [private] |
char XrdCmsResp::theMan[128] [private] |
char XrdCmsResp::UserID[64] [private] |