XrdCmsResp Class Reference

#include <XrdCmsResp.hh>

Inheritance diagram for XrdCmsResp:
Inheritance graph
[legend]
Collaboration diagram for XrdCmsResp:
Collaboration graph
[legend]

List of all members.

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 XrdCmsRespAlloc (XrdOucErrInfo *erp, int msgid)
static void Reply ()
static void setDelay (int repdly)

Private Member Functions

void Recycle ()
void ReplyXeq ()

Private Attributes

XrdCms::CmsRRHdr myRRHdr
XrdOucBuffermyBuff
char theMan [128]
XrdCmsRespCB SyncCB
XrdCmsRespnext
int myID
char UserID [64]

Static Private Attributes

static XrdSysSemaphore isReady
static XrdSysMutex rdyMutex
static XrdCmsRespFirst
static XrdCmsRespLast
static XrdSysMutex myMutex
static XrdCmsRespnextFree
static int numFree
static const int maxFree = 300
static int RepDelay

Friends

class XrdCmsRespQ

Constructor & Destructor Documentation

XrdCmsResp::XrdCmsResp (  )  [inline]

References myBuff, and next.

XrdCmsResp::~XrdCmsResp (  )  [inline]

Member Function Documentation

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.

Parameters:
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.

Parameters:
arg1 - The first callback argument.
arg2 - The second callback argument.
Returns:
!0 - The arguments refer to the same client.
=0 - The arguments refer to the different clients.

Implements XrdOucEICB.

static void XrdCmsResp::setDelay ( int  repdly  )  [inline, static]

References RepDelay.


Friends And Related Function Documentation

friend class XrdCmsRespQ [friend]

Member Data Documentation

XrdCmsResp* XrdCmsResp::First [static, private]
XrdCmsResp* XrdCmsResp::Last [static, private]
const int XrdCmsResp::maxFree = 300 [static, private]

Referenced by XrdCmsResp().

int XrdCmsResp::myID [private]

Referenced by ID().

XrdSysMutex XrdCmsResp::myMutex [static, 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().

char XrdCmsResp::theMan[128] [private]
char XrdCmsResp::UserID[64] [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 7 Jul 2020 for xrootd by  doxygen 1.6.1