12 #ifndef ROOT_TPacketizerMulti
13 #define ROOT_TPacketizerMulti
36 class TProofProgressStatus;
39 class TPacketizerMulti :
public TVirtualPacketizer {
43 TIter *fPacketizersIter;
44 TVirtualPacketizer *fCurrent;
48 TPacketizerMulti(
const TPacketizerMulti&);
49 void operator=(
const TPacketizerMulti&);
51 TVirtualPacketizer *CreatePacketizer(TDSet *dset, TList *wrks, Long64_t first, Long64_t num,
52 TList *input, TProofProgressStatus *st);
55 TPacketizerMulti(TDSet *dset, TList *slaves, Long64_t first, Long64_t num,
56 TList *input, TProofProgressStatus *st);
57 virtual ~TPacketizerMulti();
59 TDSetElement *GetNextPacket(TSlave *wrk, TMessage *r);
61 Int_t GetEstEntriesProcessed(Float_t f, Long64_t &ent, Long64_t &bytes, Long64_t &calls)
62 {
if (fCurrent)
return fCurrent->GetEstEntriesProcessed(f,ent,bytes,calls);
64 Float_t GetCurrentRate(Bool_t &all) { all = kTRUE;
65 return (fCurrent? fCurrent->GetCurrentRate(all) : 0.); }
66 void StopProcess(Bool_t abort, Bool_t stoptimer = kFALSE) {
67 if (fCurrent) fCurrent->StopProcess(abort, stoptimer);
68 TVirtualPacketizer::StopProcess(abort, stoptimer); }
69 void MarkBad(TSlave *wrk, TProofProgressStatus *st, TList **missing)
70 {
if (fCurrent) fCurrent->MarkBad(wrk, st, missing);
return; }
71 Int_t AddProcessed(TSlave *wrk, TProofProgressStatus *st, Double_t lat, TList **missing)
72 {
if (fCurrent)
return fCurrent->AddProcessed(wrk, st, lat, missing);
75 Int_t GetActiveWorkers() {
if (fCurrent)
return fCurrent->GetActiveWorkers();
return 0; }
77 ClassDef(TPacketizerMulti,0)