1 #ifndef __CMS_CLUSTER__H
2 #define __CMS_CLUSTER__H
36 #include <netinet/in.h>
123 int sport,
const char *theNID,
const char *theIF);
134 char *Data,
int Dlen=0);
137 void *Data,
int Dlen);
142 void *Data,
int Dlen);
195 int isrw,
int isMulti,
int ifWant);
218 int sport,
const char *theNID,
const char *theIF);
221 void Record(
char *path,
const char *reason,
bool force=
false);
#define STMax
Definition: XrdCmsTypes.hh:39
unsigned long long SMask_t
Definition: XrdCmsTypes.hh:33
#define XRDOUC_ENUM_OPERATORS(T)
Definition: XrdOucEnum.hh:22
Definition: XrdCmsBaseFS.hh:49
Definition: XrdCmsClustID.hh:41
Definition: XrdCmsCluster.hh:114
SMask_t getMask(const XrdNetAddr *addr)
SMask_t peerHost
Definition: XrdCmsCluster.hh:263
void Space(XrdCms::SpaceData &sData, SMask_t smask)
int Select(SMask_t pmask, int &port, char *hbuff, int &hlen, int isrw, int isMulti, int ifWant)
int SelFail(XrdCmsSelect &Sel, int rc)
int Broadsend(SMask_t smask, XrdCms::CmsRRHdr &Hdr, void *Data, int Dlen)
SMask_t getMask(const char *Cid)
XrdCmsNode * AddAlt(XrdCmsClustID *cidP, XrdLink *lp, int port, int Status, int sport, const char *theNID, const char *theIF)
long long Refs()
Definition: XrdCmsCluster.hh:173
bool maxBits(SMask_t mVec, int mbits)
int Unreachable(XrdCmsSelect &Sel, bool none)
long long SelWtot
Definition: XrdCmsCluster.hh:248
void SLock(bool dolock)
Definition: XrdCmsCluster.hh:199
int Drop(int sent, int sinst, XrdCmsDrop *djp=0)
XrdCmsNode * NodeTab[STMax]
Definition: XrdCmsCluster.hh:243
XrdCmsNode * SelbyRef(SMask_t, XrdCmsSelector &selR)
void setAltMan(int snum, XrdLink *lp, int port)
int Unuseable(XrdCmsSelect &Sel)
void Remove(const char *reason, XrdCmsNode *theNode, int immed=0)
int SelNode(XrdCmsSelect &Sel, SMask_t pmask, SMask_t amask)
long long SelRcnt
Definition: XrdCmsCluster.hh:249
int Select(XrdCmsSelect &Sel)
int STHi
Definition: XrdCmsCluster.hh:245
void sendAList(XrdLink *lp)
int Locate(XrdCmsSelect &Sel)
char * AltMend
Definition: XrdCmsCluster.hh:258
static const int EReplete
Definition: XrdCmsCluster.hh:190
int SelDFS(XrdCmsSelect &Sel, SMask_t amask, SMask_t &pmask, SMask_t &smask, int isRW)
int Multiple(SMask_t mVec)
static const int AltSize
Definition: XrdCmsCluster.hh:239
void ResetRef(SMask_t smask, bool isLocked=false)
SMask_t Broadcast(SMask_t smask, XrdCms::CmsRRHdr &Hdr, void *Data, int Dlen)
XrdCmsNode * SelbyLoad(SMask_t, XrdCmsSelector &selR)
long long SelWcnt
Definition: XrdCmsCluster.hh:247
@ eNoSel
Definition: XrdCmsCluster.hh:224
@ eDups
Definition: XrdCmsCluster.hh:224
@ eNoRep
Definition: XrdCmsCluster.hh:224
@ eROfs
Definition: XrdCmsCluster.hh:224
@ eNoEnt
Definition: XrdCmsCluster.hh:224
@ eExists
Definition: XrdCmsCluster.hh:224
long long SelTcnt
Definition: XrdCmsCluster.hh:251
SMask_t Broadcast(SMask_t, const struct iovec *, int, int tot=0)
char AltMans[STMax *AltSize]
Definition: XrdCmsCluster.hh:257
XrdCmsNode * SelbyCost(SMask_t, XrdCmsSelector &selR)
int AltMent
Definition: XrdCmsCluster.hh:259
long long SelRtot
Definition: XrdCmsCluster.hh:250
XrdCmsSelected * List(SMask_t mask, CmsLSOpts opts, bool &oksel)
XrdSysMutex XXMutex
Definition: XrdCmsCluster.hh:241
XrdCmsNode * Add(XrdLink *lp, int dport, int Status, int sport, const char *theNID, const char *theIF)
static const int RetryErr
Definition: XrdCmsCluster.hh:189
static const int NotFound
Definition: XrdCmsCluster.hh:187
int NodeCnt
Definition: XrdCmsCluster.hh:118
XrdSysMutex STMutex
Definition: XrdCmsCluster.hh:242
XrdCmsNode * calcDelay(XrdCmsSelector &selR)
SMask_t Broadcast(SMask_t smask, XrdCms::CmsRRHdr &Hdr, char *Data, int Dlen=0)
int Reserved
Definition: XrdCmsCluster.hh:246
static const int Wait4CBk
Definition: XrdCmsCluster.hh:188
void Remove(XrdCmsNode *theNode)
CmsLSOpts
Definition: XrdCmsCluster.hh:154
@ LS_IDNT
Definition: XrdCmsCluster.hh:154
@ LS_ANY
Definition: XrdCmsCluster.hh:155
@ LS_IFMASK
Definition: XrdCmsCluster.hh:155
@ LS_NULL
Definition: XrdCmsCluster.hh:154
@ LS_IPO
Definition: XrdCmsCluster.hh:154
int Stats(char *bfr, int bln)
virtual ~XrdCmsCluster()
Definition: XrdCmsCluster.hh:214
SMask_t peerMask
Definition: XrdCmsCluster.hh:264
friend class XrdCmsDrop
Definition: XrdCmsCluster.hh:116
int Statt(char *bfr, int bln)
virtual void BlackList(XrdOucTList *blP)
void Record(char *path, const char *reason, bool force=false)
Definition: XrdCmsNode.hh:57
Definition: XrdCmsSelect.hh:44
Definition: XrdCmsSelect.hh:102
Definition: XrdCmsSelect.hh:139
Definition: XrdCmsCluster.hh:82
int wNum
Definition: XrdCmsCluster.hh:89
int wFree
Definition: XrdCmsCluster.hh:88
SpaceData()
Definition: XrdCmsCluster.hh:95
int sNum
Definition: XrdCmsCluster.hh:92
int wUtil
Definition: XrdCmsCluster.hh:90
int sFree
Definition: XrdCmsCluster.hh:91
int wMinF
Definition: XrdCmsCluster.hh:87
~SpaceData()
Definition: XrdCmsCluster.hh:98
int sUtil
Definition: XrdCmsCluster.hh:93
long long Total
Definition: XrdCmsCluster.hh:85
long long TotFr
Definition: XrdCmsCluster.hh:86
Definition: XrdLink.hh:52
Definition: XrdNetAddr.hh:42
Definition: XrdOucTList.hh:42
Definition: XrdSysPthread.hh:166
void Lock()
Definition: XrdSysPthread.hh:222
void UnLock()
Definition: XrdSysPthread.hh:224
static struct XrdCl::None none
Definition: YProtocol.hh:78
static const int CMS_hasAlts
Definition: XrdCmsCluster.hh:77
static const int CMS_isSuper
Definition: XrdCmsCluster.hh:72
static const int CMS_noSpace
Definition: XrdCmsCluster.hh:71
static const int CMS_noStage
Definition: XrdCmsCluster.hh:64
static const int CMS_Lost
Definition: XrdCmsCluster.hh:68
static const int CMS_isMan
Definition: XrdCmsCluster.hh:67
static const int CMS_Perm
Definition: XrdCmsCluster.hh:66
static const int CMS_isVers3
Definition: XrdCmsCluster.hh:74
static const int CMS_isPeer
Definition: XrdCmsCluster.hh:69
static const int CMS_isProxy
Definition: XrdCmsCluster.hh:70
static const int CMS_Suspend
Definition: XrdCmsCluster.hh:65
static const int CMS_notServ
Definition: XrdCmsCluster.hh:76
Definition: YProtocol.hh:83