xrootd
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
XrdCmsResp Class Reference

#include <XrdCmsResp.hh>

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

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 ()
 
- Public Member Functions inherited from XrdOucEICB
 XrdOucEICB ()
 Constructor and destructor.
 
virtual ~XrdOucEICB ()
 
- Public Member Functions inherited from XrdOucErrInfo
void clear ()
 Reset data and error information to null. Any appenadges are released.
 
void setErrArg (unsigned long long cbarg=0)
 
void setErrCB (XrdOucEICB *cb, unsigned long long cbarg=0)
 
int setErrCode (int code)
 
int setErrInfo (int code, const char *emsg)
 
int setErrInfo (int code, const char *txtlist[], int n)
 
int setErrInfo (int code, XrdOucBuffer *buffP)
 
void setErrUser (const char *user)
 
unsigned long long getErrArg ()
 
char * getMsgBuff (int &mblen)
 
XrdOucEICBgetErrCB ()
 
XrdOucEICBgetErrCB (unsigned long long &ap)
 
int getErrInfo ()
 
const char * getErrText ()
 
const char * getErrText (int &ecode)
 
int getErrTextLen ()
 
const char * getErrUser ()
 
XrdOucEnvgetEnv ()
 
XrdOucEnvsetEnv (XrdOucEnv *newEnv)
 
const char * getErrData ()
 
void setErrData (const char *Data, int Offs=0)
 
int getErrMid ()
 
void setErrMid (int mid)
 Set the monitoring identifier.
 
bool extData ()
 
void Reset ()
 Reset object to no message state. Call this method to release appendages.
 
int getUCap ()
 
void setUCap (int ucval)
 Set user capabilties.
 
XrdOucErrInfooperator= (const XrdOucErrInfo &rhs)
 Assignment operator.
 
 XrdOucErrInfo (const char *user=0, XrdOucEICB *cb=0, unsigned long long ca=0, int mid=0, int uc=0)
 
 XrdOucErrInfo (const char *user, XrdOucEnv *envp, int uc=0)
 
 XrdOucErrInfo (const char *user, int MonID, int uc=0)
 
virtual ~XrdOucErrInfo ()
 Destructor.
 

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
 

Additional Inherited Members

- Protected Attributes inherited from XrdOucErrInfo
XrdOucEI ErrInfo
 
XrdOucEICBErrCB
 
union { 
 
   unsigned long long   ErrCBarg 
 
   XrdOucEnv *   ErrEnv 
 
};  
 
int mID
 
short dOff
 
short reserved
 
XrdOucBufferdataBuff
 

Constructor & Destructor Documentation

◆ XrdCmsResp()

XrdCmsResp::XrdCmsResp ( )
inline

References myBuff, and next.

◆ ~XrdCmsResp()

XrdCmsResp::~XrdCmsResp ( )
inline

Member Function Documentation

◆ Alloc()

static XrdCmsResp * XrdCmsResp::Alloc ( XrdOucErrInfo erp,
int  msgid 
)
static

◆ Done()

void XrdCmsResp::Done ( int &  Result,
XrdOucErrInfo eInfo,
const char *  Path = 0 
)
inlinevirtual

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().

◆ ID()

int XrdCmsResp::ID ( )
inline

References myID.

◆ Recycle()

void XrdCmsResp::Recycle ( )
private

Referenced by Done().

◆ Reply() [1/2]

static void XrdCmsResp::Reply ( )
static

◆ Reply() [2/2]

void XrdCmsResp::Reply ( const char *  Man,
XrdCms::CmsRRHdr rrhdr,
XrdOucBuffer netbuff 
)

◆ ReplyXeq()

void XrdCmsResp::ReplyXeq ( )
private

◆ Same()

int XrdCmsResp::Same ( unsigned long long  arg1,
unsigned long long  arg2 
)
inlinevirtual

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.

◆ setDelay()

static void XrdCmsResp::setDelay ( int  repdly)
inlinestatic

References RepDelay.

Friends And Related Symbol Documentation

◆ XrdCmsRespQ

friend class XrdCmsRespQ
friend

Member Data Documentation

◆ First

XrdCmsResp* XrdCmsResp::First
staticprivate

◆ isReady

XrdSysSemaphore XrdCmsResp::isReady
staticprivate

◆ Last

XrdCmsResp* XrdCmsResp::Last
staticprivate

◆ maxFree

const int XrdCmsResp::maxFree = 300
staticprivate

◆ myBuff

XrdOucBuffer* XrdCmsResp::myBuff
private

Referenced by XrdCmsResp().

◆ myID

int XrdCmsResp::myID
private

Referenced by ID().

◆ myMutex

XrdSysMutex XrdCmsResp::myMutex
staticprivate

◆ myRRHdr

XrdCms::CmsRRHdr XrdCmsResp::myRRHdr
private

◆ next

XrdCmsResp* XrdCmsResp::next
private

Referenced by XrdCmsResp().

◆ nextFree

XrdCmsResp* XrdCmsResp::nextFree
staticprivate

◆ numFree

int XrdCmsResp::numFree
staticprivate

◆ rdyMutex

XrdSysMutex XrdCmsResp::rdyMutex
staticprivate

◆ RepDelay

int XrdCmsResp::RepDelay
staticprivate

Referenced by setDelay().

◆ SyncCB

XrdCmsRespCB XrdCmsResp::SyncCB
private

◆ theMan

char XrdCmsResp::theMan[128]
private

◆ UserID

char XrdCmsResp::UserID[64]
private

The documentation for this class was generated from the following file: