|
xrootd
|
#include <XrdCmsRRQ.hh>

Public Member Functions | |
| short | Add (short Snum, XrdCmsRRQInfo *ip) |
| void | Del (short Snum, const void *Key) |
| int | Init (int Tint=0, int Tdly=0) |
| void | Ready (int Snum, const void *Key, SMask_t mask1, SMask_t mask2) |
| void * | Respond () |
| void * | TimeOut () |
| XrdCmsRRQ () | |
| ~XrdCmsRRQ () | |
Private Member Functions | |
| void | sendLocResp (XrdCmsRRQSlot *lP) |
| void | sendResponse (XrdCmsRRQInfo *Info, int doredir, int totlen=0) |
Private Attributes | |
| XrdSysMutex | myMutex |
| XrdSysSemaphore | isWaiting |
| XrdSysSemaphore | isReady |
| XrdCmsRRQSlot | Slot [numSlots] |
| XrdOucDLlist< XrdCmsRRQSlot > | waitQ |
| XrdOucDLlist< XrdCmsRRQSlot > | readyQ |
| 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] | |
| }; | |
| int | Tslice |
| int | Tdelay |
| unsigned int | myClock |
Static Private Attributes | |
| static const int | numSlots = 1024 |
| static const int | iov_cnt = 2 |
| XrdCmsRRQ::XrdCmsRRQ | ( | ) | [inline] |
| XrdCmsRRQ::~XrdCmsRRQ | ( | ) | [inline] |
| short XrdCmsRRQ::Add | ( | short | Snum, |
| XrdCmsRRQInfo * | ip | ||
| ) |
References XrdCmsRRQSlot::Alloc(), XrdCmsRRQSlot::Cont, XrdCmsRRQSlot::Expire, XrdCmsRRQInfo::isLU, XrdCmsRRQInfo::Key, XrdCmsRRQSlot::Link, XrdCmsRRQSlot::LkUp, and XrdCmsRRQSlot::slotNum.
Referenced by XrdCmsCache::Add2Q().
| void XrdCmsRRQ::Del | ( | short | Snum, |
| const void * | Key | ||
| ) |
Referenced by XrdCmsCache::Recycle().
| int XrdCmsRRQ::Init | ( | int | Tint = 0, |
| int | Tdly = 0 |
||
| ) |
References XrdSysError::Emsg(), XrdCms::kYR_data, XrdCms::kYR_redirect, XrdCms::kYR_wait, XrdSysThread::Run(), XrdCms::Say, XrdCmsRRQ_StartRespond(), and XrdCmsRRQ_StartTimeOut().
Referenced by XrdCmsConfig::setupManager().
References XrdCmsRRQSlot::Arg1, XrdCmsRRQSlot::Arg2, XrdCmsRRQSlot::Expire, XrdCmsRRQSlot::Info, XrdCmsRRQInfo::Key, XrdCmsRRQSlot::Link, and XrdOucDLlist< T >::Remove().
Referenced by XrdCmsCache::Dispatch().
| void * XrdCmsRRQ::Respond | ( | ) |
References XrdCmsRRQSlot::Arg1, XrdCmsRRQSlot::Arg2, XrdCms::Cluster, XrdCmsRRQSlot::Cont, XrdCmsRRQSlot::Expire, XrdCmsRRQSlot::Info, XrdCmsRRQInfo::isLU, XrdCmsRRQInfo::isRW, XrdCmsRRQSlot::Link, XrdCmsRRQSlot::LkUp, XrdMonCtrCollector::port, XrdCmsRRQSlot::Recycle(), XrdOucDLlist< T >::Remove(), and XrdCmsCluster::Select().
Referenced by XrdCmsRRQ_StartRespond().
| void XrdCmsRRQ::sendLocResp | ( | XrdCmsRRQSlot * | lP | ) | [private] |
References XrdCmsRRQSlot::Arg1, XrdCmsRRQSlot::Arg2, XrdCms::Cluster, XrdCmsRRQSlot::Cont, XrdCmsNode::do_LocFmt(), XrdCmsRTable::Find(), XrdCmsRRQInfo::ID, XrdCmsRRQSlot::Info, XrdCmsCluster::List(), XrdCmsRTable::Lock(), XrdCmsCluster::LS_IPV6, XrdCmsRRQInfo::Rinst, XrdCmsRRQInfo::Rnum, XrdCms::RTable, XrdCmsRRQInfo::rwVec, XrdCmsNode::Send(), and XrdCmsRTable::UnLock().
| void XrdCmsRRQ::sendResponse | ( | XrdCmsRRQInfo * | Info, |
| int | doredir, | ||
| int | totlen = 0 |
||
| ) | [private] |
| void * XrdCmsRRQ::TimeOut | ( | ) |
References XrdCmsRRQSlot::Arg1, XrdCmsRRQSlot::Arg2, XrdCmsRRQSlot::Expire, XrdCmsRRQSlot::Link, XrdOucDLlist< T >::Remove(), and XrdSysTimer::Wait().
Referenced by XrdCmsRRQ_StartTimeOut().
union { ... } [private] |
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 [static, private] |
XrdSysSemaphore XrdCmsRRQ::isReady [private] |
XrdSysSemaphore XrdCmsRRQ::isWaiting [private] |
unsigned int XrdCmsRRQ::myClock [private] |
XrdSysMutex XrdCmsRRQ::myMutex [private] |
const int XrdCmsRRQ::numSlots = 1024 [static, private] |
XrdOucDLlist<XrdCmsRRQSlot> XrdCmsRRQ::readyQ [private] |
struct iovec XrdCmsRRQ::redr_iov[iov_cnt] [private] |
XrdCms::CmsResponse XrdCmsRRQ::redrResp [private] |
XrdCmsRRQSlot XrdCmsRRQ::Slot[numSlots] [private] |
int XrdCmsRRQ::Tdelay [private] |
int XrdCmsRRQ::Tslice [private] |
XrdOucDLlist<XrdCmsRRQSlot> XrdCmsRRQ::waitQ [private] |
XrdCms::CmsResponse XrdCmsRRQ::waitResp [private] |
1.7.3