#include <XrdCmsCluster.hh>
Public Types | |
enum | CmsLSOpts { LS_NULL = 0, LS_IPO = 0x0100, LS_IDNT = 0x0200, LS_ANY = 0x0400, LS_IFMASK = 0x0f } |
Public Member Functions | |
XrdCmsNode * | Add (XrdLink *lp, int dport, int Status, int sport, const char *theNID, const char *theIF) |
virtual void | BlackList (XrdOucTList *blP) |
SMask_t | Broadcast (SMask_t, const struct iovec *, int, int tot=0) |
SMask_t | Broadcast (SMask_t smask, XrdCms::CmsRRHdr &Hdr, char *Data, int Dlen=0) |
SMask_t | Broadcast (SMask_t smask, XrdCms::CmsRRHdr &Hdr, void *Data, int Dlen) |
int | Broadsend (SMask_t smask, XrdCms::CmsRRHdr &Hdr, void *Data, int Dlen) |
SMask_t | getMask (const XrdNetAddr *addr) |
SMask_t | getMask (const char *Cid) |
XrdCmsSelected * | List (SMask_t mask, CmsLSOpts opts, bool &oksel) |
int | Locate (XrdCmsSelect &Sel) |
void * | MonPerf () |
void * | MonRefs () |
long long | Refs () |
void | Remove (XrdCmsNode *theNode) |
void | Remove (const char *reason, XrdCmsNode *theNode, int immed=0) |
void | ResetRef (SMask_t smask, bool isLocked=false) |
int | Select (XrdCmsSelect &Sel) |
int | Select (SMask_t pmask, int &port, char *hbuff, int &hlen, int isrw, int isMulti, int ifWant) |
void | SLock (bool dolock) |
void | Space (XrdCms::SpaceData &sData, SMask_t smask) |
int | Stats (char *bfr, int bln) |
int | Statt (char *bfr, int bln) |
XrdCmsCluster () | |
virtual | ~XrdCmsCluster () |
Public Attributes | |
int | NodeCnt |
Static Public Attributes | |
static const int | NotFound = -1 |
static const int | Wait4CBk = -2 |
static const int | RetryErr = -3 |
static const int | EReplete = -4 |
Private Types | |
enum | { eExists, eDups, eROfs, eNoRep, eNoSel, eNoEnt } |
Private Member Functions | |
XrdCmsNode * | AddAlt (XrdCmsClustID *cidP, XrdLink *lp, int port, int Status, int sport, const char *theNID, const char *theIF) |
XrdCmsNode * | calcDelay (XrdCmsSelector &selR) |
int | Drop (int sent, int sinst, XrdCmsDrop *djp=0) |
void | Record (char *path, const char *reason, bool force=false) |
bool | maxBits (SMask_t mVec, int mbits) |
int | Multiple (SMask_t mVec) |
int | SelFail (XrdCmsSelect &Sel, int rc) |
int | SelNode (XrdCmsSelect &Sel, SMask_t pmask, SMask_t amask) |
XrdCmsNode * | SelbyCost (SMask_t, XrdCmsSelector &selR) |
XrdCmsNode * | SelbyLoad (SMask_t, XrdCmsSelector &selR) |
XrdCmsNode * | SelbyRef (SMask_t, XrdCmsSelector &selR) |
int | SelDFS (XrdCmsSelect &Sel, SMask_t amask, SMask_t &pmask, SMask_t &smask, int isRW) |
void | sendAList (XrdLink *lp) |
void | setAltMan (int snum, XrdLink *lp, int port) |
int | Unreachable (XrdCmsSelect &Sel, bool none) |
int | Unuseable (XrdCmsSelect &Sel) |
Private Attributes | |
XrdSysMutex | XXMutex |
XrdSysMutex | STMutex |
XrdCmsNode * | NodeTab [STMax] |
int | STHi |
int | Reserved |
long long | SelWcnt |
long long | SelWtot |
long long | SelRcnt |
long long | SelRtot |
long long | SelTcnt |
char | AltMans [STMax *AltSize] |
char * | AltMend |
int | AltMent |
SMask_t | peerHost |
SMask_t | peerMask |
Static Private Attributes | |
static const int | AltSize = 254 |
Friends | |
class | XrdCmsDrop |
XrdCmsCluster::XrdCmsCluster | ( | ) |
virtual XrdCmsCluster::~XrdCmsCluster | ( | ) | [inline, virtual] |
XrdCmsNode* XrdCmsCluster::Add | ( | XrdLink * | lp, | |
int | dport, | |||
int | Status, | |||
int | sport, | |||
const char * | theNID, | |||
const char * | theIF | |||
) |
XrdCmsNode* XrdCmsCluster::AddAlt | ( | XrdCmsClustID * | cidP, | |
XrdLink * | lp, | |||
int | port, | |||
int | Status, | |||
int | sport, | |||
const char * | theNID, | |||
const char * | theIF | |||
) | [private] |
virtual void XrdCmsCluster::BlackList | ( | XrdOucTList * | blP | ) | [virtual] |
SMask_t XrdCmsCluster::Broadcast | ( | SMask_t | smask, | |
XrdCms::CmsRRHdr & | Hdr, | |||
void * | Data, | |||
int | Dlen | |||
) |
SMask_t XrdCmsCluster::Broadcast | ( | SMask_t | smask, | |
XrdCms::CmsRRHdr & | Hdr, | |||
char * | Data, | |||
int | Dlen = 0 | |||
) |
int XrdCmsCluster::Broadsend | ( | SMask_t | smask, | |
XrdCms::CmsRRHdr & | Hdr, | |||
void * | Data, | |||
int | Dlen | |||
) |
XrdCmsNode* XrdCmsCluster::calcDelay | ( | XrdCmsSelector & | selR | ) | [private] |
int XrdCmsCluster::Drop | ( | int | sent, | |
int | sinst, | |||
XrdCmsDrop * | djp = 0 | |||
) | [private] |
SMask_t XrdCmsCluster::getMask | ( | const char * | Cid | ) |
SMask_t XrdCmsCluster::getMask | ( | const XrdNetAddr * | addr | ) |
XrdCmsSelected* XrdCmsCluster::List | ( | SMask_t | mask, | |
CmsLSOpts | opts, | |||
bool & | oksel | |||
) |
int XrdCmsCluster::Locate | ( | XrdCmsSelect & | Sel | ) |
bool XrdCmsCluster::maxBits | ( | SMask_t | mVec, | |
int | mbits | |||
) | [private] |
void* XrdCmsCluster::MonPerf | ( | ) |
void* XrdCmsCluster::MonRefs | ( | ) |
int XrdCmsCluster::Multiple | ( | SMask_t | mVec | ) | [private] |
void XrdCmsCluster::Record | ( | char * | path, | |
const char * | reason, | |||
bool | force = false | |||
) | [private] |
void XrdCmsCluster::Remove | ( | const char * | reason, | |
XrdCmsNode * | theNode, | |||
int | immed = 0 | |||
) |
void XrdCmsCluster::Remove | ( | XrdCmsNode * | theNode | ) |
void XrdCmsCluster::ResetRef | ( | SMask_t | smask, | |
bool | isLocked = false | |||
) |
XrdCmsNode* XrdCmsCluster::SelbyCost | ( | SMask_t | , | |
XrdCmsSelector & | selR | |||
) | [private] |
XrdCmsNode* XrdCmsCluster::SelbyLoad | ( | SMask_t | , | |
XrdCmsSelector & | selR | |||
) | [private] |
XrdCmsNode* XrdCmsCluster::SelbyRef | ( | SMask_t | , | |
XrdCmsSelector & | selR | |||
) | [private] |
int XrdCmsCluster::SelDFS | ( | XrdCmsSelect & | Sel, | |
SMask_t | amask, | |||
SMask_t & | pmask, | |||
SMask_t & | smask, | |||
int | isRW | |||
) | [private] |
int XrdCmsCluster::Select | ( | SMask_t | pmask, | |
int & | port, | |||
char * | hbuff, | |||
int & | hlen, | |||
int | isrw, | |||
int | isMulti, | |||
int | ifWant | |||
) |
int XrdCmsCluster::Select | ( | XrdCmsSelect & | Sel | ) |
int XrdCmsCluster::SelFail | ( | XrdCmsSelect & | Sel, | |
int | rc | |||
) | [private] |
int XrdCmsCluster::SelNode | ( | XrdCmsSelect & | Sel, | |
SMask_t | pmask, | |||
SMask_t | amask | |||
) | [private] |
void XrdCmsCluster::sendAList | ( | XrdLink * | lp | ) | [private] |
void XrdCmsCluster::setAltMan | ( | int | snum, | |
XrdLink * | lp, | |||
int | port | |||
) | [private] |
void XrdCmsCluster::SLock | ( | bool | dolock | ) | [inline] |
References XrdSysMutex::Lock(), STMutex, and XrdSysMutex::UnLock().
void XrdCmsCluster::Space | ( | XrdCms::SpaceData & | sData, | |
SMask_t | smask | |||
) |
int XrdCmsCluster::Stats | ( | char * | bfr, | |
int | bln | |||
) |
int XrdCmsCluster::Statt | ( | char * | bfr, | |
int | bln | |||
) |
int XrdCmsCluster::Unreachable | ( | XrdCmsSelect & | Sel, | |
bool | none | |||
) | [private] |
int XrdCmsCluster::Unuseable | ( | XrdCmsSelect & | Sel | ) | [private] |
friend class XrdCmsDrop [friend] |
char XrdCmsCluster::AltMans[STMax *AltSize] [private] |
char* XrdCmsCluster::AltMend [private] |
int XrdCmsCluster::AltMent [private] |
const int XrdCmsCluster::AltSize = 254 [static, private] |
const int XrdCmsCluster::EReplete = -4 [static] |
XrdCmsNode* XrdCmsCluster::NodeTab[STMax] [private] |
const int XrdCmsCluster::NotFound = -1 [static] |
SMask_t XrdCmsCluster::peerHost [private] |
SMask_t XrdCmsCluster::peerMask [private] |
int XrdCmsCluster::Reserved [private] |
const int XrdCmsCluster::RetryErr = -3 [static] |
long long XrdCmsCluster::SelRcnt [private] |
Referenced by Refs().
long long XrdCmsCluster::SelRtot [private] |
Referenced by Refs().
long long XrdCmsCluster::SelTcnt [private] |
long long XrdCmsCluster::SelWcnt [private] |
Referenced by Refs().
long long XrdCmsCluster::SelWtot [private] |
Referenced by Refs().
int XrdCmsCluster::STHi [private] |
XrdSysMutex XrdCmsCluster::STMutex [private] |
Referenced by SLock().
const int XrdCmsCluster::Wait4CBk = -2 [static] |
XrdSysMutex XrdCmsCluster::XXMutex [private] |