43 theQ[
In ].maxSlots = theQ[
In ].curSlots = inslots;
44 theQ[
Out].maxSlots = theQ[
Out].curSlots = outslots;
45 theQ[
Xeq].maxSlots = theQ[
Xeq].curSlots = 0;
61 if ((rP = theQ[
In].Next()) || (rP = theQ[
Out].Next()))
63 rID = rP->
refID; *RespBuff =
'\0';
73 strcpy(RespBuff,
"Fatal logic error!");
88 if (rHandle < 0) rHandle = -rHandle;
93 if ((rP = theQ[
Xeq].Yank(rHandle)))
94 {
if (theQ[rP->
Way].curSlots++ == 0) pSem.
Post();
97 if ((rP=theQ[
In].Yank(rHandle)) || (rP=theQ[
Out].Yank(rHandle))) rc = -1;
114 static const char *theWay[] = {
"Incoming",
"Outgoing"};
127 if (theQ[rP->
Way].curSlots > 0)
128 {theQ[rP->
Way].curSlots--;
131 else if (theQ[rP->
Way].maxSlots)
132 {theQ[rP->
Way].Add(rP); myID = -myID;}
133 else {strcpy(RespBuff, theWay[rP->
Way]);
134 strcat(RespBuff,
" requests are not allowed.");
155 numqIn = theQ[
In ].Num;
156 numqOut = theQ[
Out].Num;
157 numXeq = theQ[
Xeq].Num;
XrdBwmPolicy1(int inslots, int outslots)
int Dispatch(char *RespBuff, int RespSize)
void Status(int &numqIn, int &numqOut, int &numXeq)
int Schedule(char *RespBuff, int RespSize, SchedParms &Parms)