1 #ifndef __CMS_CLUSTER__H
2 #define __CMS_CLUSTER__H
36 #include <netinet/in.h>
124 int sport,
const char *theNID,
const char *theIF);
135 char *Data,
int Dlen=0);
138 void *Data,
int Dlen);
143 void *Data,
int Dlen);
196 int isrw,
int isMulti,
int ifWant);
200 void SLock(
bool dolock,
bool wrmode=
true)
214 int Stats(
char *bfr,
int bln);
215 int Statt(
char *bfr,
int bln);
222 int sport,
const char *theNID,
const char *theIF);
225 void Record(
char *path,
const char *reason,
bool force=
false);
long long TotFr
Definition: XrdCmsCluster.hh:87
Definition: XrdCmsCluster.hh:155
XrdSysRWLock STMutex
Definition: XrdCmsCluster.hh:245
int AltMent
Definition: XrdCmsCluster.hh:260
int sFree
Definition: XrdCmsCluster.hh:92
Definition: XrdSysPthread.hh:329
Definition: XrdCmsCluster.hh:114
static const int NotFound
Definition: XrdCmsCluster.hh:188
int SelNode(XrdCmsSelect &Sel, SMask_t pmask, SMask_t amask)
Definition: XrdCmsClustID.hh:40
static const int CMS_Perm
Definition: XrdCmsCluster.hh:67
Definition: XrdCmsSelect.hh:104
int SelDFS(XrdCmsSelect &Sel, SMask_t amask, SMask_t &pmask, SMask_t &smask, int isRW)
Definition: XrdCmsCluster.hh:228
XrdCmsNode * NodeTab[STMax]
Definition: XrdCmsCluster.hh:246
SpaceData()
Definition: XrdCmsCluster.hh:96
Definition: XrdCmsCluster.hh:228
RAtomic_llong SelWtot
Definition: XrdCmsCluster.hh:250
Definition: YProtocol.hh:82
Definition: XrdCmsSelect.hh:141
XrdCmsNode * SelbyCost(SMask_t, XrdCmsSelector &selR)
Definition: XrdCmsCluster.hh:228
static const int Wait4CBk
Definition: XrdCmsCluster.hh:189
CmsLSOpts
Definition: XrdCmsCluster.hh:155
void ReadLock()
Definition: XrdSysPthread.hh:342
static const int RetryErr
Definition: XrdCmsCluster.hh:190
Definition: XrdCmsBaseFS.hh:48
RAtomic_llong SelRtot
Definition: XrdCmsCluster.hh:251
void Space(XrdCms::SpaceData &sData, SMask_t smask)
static const int EReplete
Definition: XrdCmsCluster.hh:191
virtual void BlackList(XrdOucTList *blP)
static const int CMS_hasAlts
Definition: XrdCmsCluster.hh:78
SMask_t peerHost
Definition: XrdCmsCluster.hh:264
Definition: XrdNetAddr.hh:41
XrdCmsNode * AddAlt(XrdCmsClustID *cidP, XrdLink *lp, int port, int Status, int sport, const char *theNID, const char *theIF)
Definition: XrdCmsCluster.hh:155
static struct XrdCl::None none
long long Total
Definition: XrdCmsCluster.hh:86
~SpaceData()
Definition: XrdCmsCluster.hh:99
void SLock(bool dolock, bool wrmode=true)
Definition: XrdCmsCluster.hh:200
static const int CMS_isPeer
Definition: XrdCmsCluster.hh:70
int sNum
Definition: XrdCmsCluster.hh:93
int NodeCnt
Definition: XrdCmsCluster.hh:119
RAtomic_llong SelTcnt
Definition: XrdCmsCluster.hh:252
void WriteLock()
Definition: XrdSysPthread.hh:343
int Unreachable(XrdCmsSelect &Sel, bool none)
int Select(XrdCmsSelect &Sel)
virtual ~XrdCmsCluster()
Definition: XrdCmsCluster.hh:218
int SelFail(XrdCmsSelect &Sel, int rc)
XrdCmsNode * Add(XrdLink *lp, int dport, int Status, int sport, const char *theNID, const char *theIF)
Definition: XrdLink.hh:51
static const int CMS_noStage
Definition: XrdCmsCluster.hh:65
int wFree
Definition: XrdCmsCluster.hh:89
int Stats(char *bfr, int bln)
XrdCmsNode * SelbyRef(SMask_t, XrdCmsSelector &selR)
Definition: XrdCmsCluster.hh:155
static const int CMS_isVers3
Definition: XrdCmsCluster.hh:75
static const int CMS_isProxy
Definition: XrdCmsCluster.hh:71
void Record(char *path, const char *reason, bool force=false)
int Multiple(SMask_t mVec)
unsigned long long SMask_t
Definition: XrdCmsTypes.hh:33
SMask_t Broadcast(SMask_t, const struct iovec *, int, int tot=0)
SMask_t getMask(const XrdNetAddr *addr)
XrdCmsSelected * List(SMask_t mask, CmsLSOpts opts, bool &oksel)
char * AltMend
Definition: XrdCmsCluster.hh:259
Definition: XrdCmsCluster.hh:82
static const int CMS_isSuper
Definition: XrdCmsCluster.hh:73
#define STMax
Definition: XrdCmsTypes.hh:39
int Statt(char *bfr, int bln)
int sUtil
Definition: XrdCmsCluster.hh:94
int Reserved
Definition: XrdCmsCluster.hh:249
Definition: XrdOucTList.hh:41
Definition: XrdCmsCluster.hh:156
int STHi
Definition: XrdCmsCluster.hh:248
void ResetRef(SMask_t smask, bool isLocked=false)
Definition: XrdCmsCluster.hh:156
static const int CMS_isMan
Definition: XrdCmsCluster.hh:68
SMask_t peerMask
Definition: XrdCmsCluster.hh:265
static const int CMS_Suspend
Definition: XrdCmsCluster.hh:66
int wNum
Definition: XrdCmsCluster.hh:90
#define XRDOUC_ENUM_OPERATORS(T)
Definition: XrdOucEnum.hh:22
int Broadsend(SMask_t smask, XrdCms::CmsRRHdr &Hdr, void *Data, int Dlen)
static const int CMS_noSpace
Definition: XrdCmsCluster.hh:72
Definition: XrdCmsCluster.hh:228
XrdCmsNode * calcDelay(XrdCmsSelector &selR)
int Locate(XrdCmsSelect &Sel)
friend class XrdCmsDrop
Definition: XrdCmsCluster.hh:117
Definition: XrdCmsCluster.hh:228
int Drop(int sent, int sinst, XrdCmsDrop *djp=0)
Definition: XrdCmsNode.hh:57
bool maxBits(SMask_t mVec, int mbits)
int wUtil
Definition: XrdCmsCluster.hh:91
void setAltMan(int snum, XrdLink *lp, int port)
static const int CMS_Lost
Definition: XrdCmsCluster.hh:69
int wMinF
Definition: XrdCmsCluster.hh:88
char AltMans[STMax *AltSize]
Definition: XrdCmsCluster.hh:258
void sendAList(XrdLink *lp)
Definition: XrdCmsSelect.hh:43
static const int AltSize
Definition: XrdCmsCluster.hh:243
void UnLock()
Definition: XrdSysPthread.hh:348
static const int CMS_notServ
Definition: XrdCmsCluster.hh:77
long long Refs()
Definition: XrdCmsCluster.hh:174
XrdCmsNode * SelbyLoad(SMask_t, XrdCmsSelector &selR)
Definition: XrdCmsCluster.hh:228
void Remove(XrdCmsNode *theNode)
int Unuseable(XrdCmsSelect &Sel)