23 #ifndef ROOT_XpdObject
24 #define ROOT_XpdObject
29 #include <sys/types.h>
30 #include "Xrd/XrdJob.hh"
31 #include "XrdOuc/XrdOucTrace.hh"
32 #include "XrdSys/XrdSysPthread.hh"
35 class XrdProofdProtocol;
40 friend class XpdObjectQ;
43 XrdProofdProtocol *objectItem() {
return fItem; }
46 XpdObject *nextObject() {
return fNext; }
49 void setItem(XrdProofdProtocol *ival) { fItem = ival; }
51 XpdObject(XrdProofdProtocol *ival=0) { fNext = 0; fItem = ival; fQTime = 0; }
56 XrdProofdProtocol *fItem;
69 class XpdObjectQ :
public XrdJob {
72 XrdProofdProtocol *Pop();
73 void Push(XpdObject *Node);
74 void Set(
int inQMax, time_t agemax=1800);
75 void Set(XrdScheduler *sp, XrdOucTrace *tp,
int traceChk = 0)
76 {fSched = sp; fTrace = tp; fTraceON = traceChk;}
79 XpdObjectQ(
const char *
id,
const char *desc) : XrdJob(desc)
80 {fCurage = fCount = 0; fMaxage = 0; fTraceID = 0; fSched = 0; fTraceID = id;
81 fMaxinQ = 32; fMininQ = 16; fFirst = 0; }