xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

void sendLocResp (XrdCmsRRQSlot *lP)
 
void sendLwtResp (XrdCmsRRQSlot *rP)
 
void sendRedResp (XrdCmsRRQSlot *rP)
 

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::RHLen
      *STMax]
 
}; 
 
Info Stats
 
int luFast
 
int luSlow
 
int rdFast
 
int rdSlow
 
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 
)
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 ( )
void XrdCmsRRQ::sendLocResp ( XrdCmsRRQSlot lP)
private
void XrdCmsRRQ::sendLwtResp ( XrdCmsRRQSlot rP)
private
void XrdCmsRRQ::sendRedResp ( XrdCmsRRQSlot rP)
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::RHLen *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
int XrdCmsRRQ::luFast
private
int XrdCmsRRQ::luSlow
private
unsigned int XrdCmsRRQ::myClock
private
XrdSysMutex XrdCmsRRQ::myMutex
private

Referenced by Statistics().

const int XrdCmsRRQ::numSlots = 1024
staticprivate
int XrdCmsRRQ::rdFast
private
int XrdCmsRRQ::rdSlow
private
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 file: