xrootd
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
XrdCmsRRQ Class Reference

#include <XrdCmsRRQ.hh>

Collaboration diagram for XrdCmsRRQ:
Collaboration graph
[legend]

Classes

struct  Info

Public Member Functions

short Add (short Snum, XrdCmsRRQInfo *ip)
void Del (short Snum, const void *Key)
int Init (int Tint=0, int Tdly=0)
int Ready (int Snum, const void *Key, SMask_t mask1, SMask_t mask2)
void * Respond ()
void Statistics (Info &Data)
void * TimeOut ()
 XrdCmsRRQ ()
 ~XrdCmsRRQ ()

Private Member Functions

int sendLocResp (XrdCmsRRQSlot *lP)
void sendResponse (XrdCmsRRQInfo *Info, int doredir, int totlen=0)

Private Attributes

XrdSysMutex myMutex
XrdSysSemaphore isWaiting
XrdSysSemaphore isReady
XrdCmsRRQSlot Slot [numSlots]
XrdOucDLlist< XrdCmsRRQSlotwaitQ
XrdOucDLlist< XrdCmsRRQSlotreadyQ
struct iovec data_iov [iov_cnt]
struct iovec redr_iov [iov_cnt]
XrdCms::CmsResponse dataResp
XrdCms::CmsResponse redrResp
XrdCms::CmsResponse waitResp
union {
   char   hostbuff [288]
   char   databuff [XrdCms::CmsLocateRequest::RILen
      *STMax]
}; 
Info Stats
int Tslice
int Tdelay
unsigned int myClock

Static Private Attributes

static const int numSlots = 1024
static const int iov_cnt = 2

Constructor & Destructor Documentation

XrdCmsRRQ::XrdCmsRRQ ( )
inline
XrdCmsRRQ::~XrdCmsRRQ ( )
inline

Member Function Documentation

short XrdCmsRRQ::Add ( short  Snum,
XrdCmsRRQInfo ip 
)
void XrdCmsRRQ::Del ( short  Snum,
const void *  Key 
)

Referenced by XrdCmsCache::Recycle().

int XrdCmsRRQ::Init ( int  Tint = 0,
int  Tdly = 0 
)
int XrdCmsRRQ::Ready ( int  Snum,
const void *  Key,
SMask_t  mask1,
SMask_t  mask2 
)
void * XrdCmsRRQ::Respond ( )
int XrdCmsRRQ::sendLocResp ( XrdCmsRRQSlot lP)
private
void XrdCmsRRQ::sendResponse ( XrdCmsRRQInfo Info,
int  doredir,
int  totlen = 0 
)
private
void XrdCmsRRQ::Statistics ( Info Data)
inline
void * XrdCmsRRQ::TimeOut ( )

Member Data Documentation

union { ... }
struct iovec XrdCmsRRQ::data_iov[iov_cnt]
private
char XrdCmsRRQ::databuff[XrdCms::CmsLocateRequest::RILen *STMax]
XrdCms::CmsResponse XrdCmsRRQ::dataResp
private
char XrdCmsRRQ::hostbuff[288]
const int XrdCmsRRQ::iov_cnt = 2
staticprivate
XrdSysSemaphore XrdCmsRRQ::isReady
private
XrdSysSemaphore XrdCmsRRQ::isWaiting
private
unsigned int XrdCmsRRQ::myClock
private
XrdSysMutex XrdCmsRRQ::myMutex
private

Referenced by Statistics().

const int XrdCmsRRQ::numSlots = 1024
staticprivate
XrdOucDLlist<XrdCmsRRQSlot> XrdCmsRRQ::readyQ
private
struct iovec XrdCmsRRQ::redr_iov[iov_cnt]
private
XrdCms::CmsResponse XrdCmsRRQ::redrResp
private
XrdCmsRRQSlot XrdCmsRRQ::Slot[numSlots]
private
Info XrdCmsRRQ::Stats
private

Referenced by Statistics().

int XrdCmsRRQ::Tdelay
private
int XrdCmsRRQ::Tslice
private
XrdOucDLlist<XrdCmsRRQSlot> XrdCmsRRQ::waitQ
private
XrdCms::CmsResponse XrdCmsRRQ::waitResp
private

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