48 PDB(kPacketizer,1)
Info(
"TPacketizerMulti",
49 "enter (first %lld, num %lld)", first, num);
56 if (!dset || !wrks || !
input || !st) {
57 Error(
"TPacketizerMulti",
"invalid inputs: dset:%p wrks:%p input:%p st:%p",
58 dset, wrks,
input, st);
65 TNamed *progTimerFlag =
new TNamed(
"PROOF_StartProgressTimer",
"no");
66 input->Add(progTimerFlag);
76 Error(
"TPacketizerMulti",
"problems initializing packetizer for single dataset");
77 input->Remove(progTimerFlag);
85 while ((ds = (
TDSet *)nxds())) {
90 Error(
"TPacketizerMulti",
"problems initializing packetizer for dataset '%s'", ds->
GetName());
95 input->Remove(progTimerFlag);
100 Error(
"TPacketizerMulti",
"no valid packetizer could be initialized - aborting");
104 Info(
"TPacketizerMulti",
"%d packetizer(s) have been successfully initialized (%lld events in total)",
118 Error(
"TPacketizerMulti",
"could not point to the first valid packetizer");
131 PDB(kPacketizer,1)
Info(
"TPacketizerMulti",
"done");
166 if (lastPacketizer && lastPacketizer !=
fCurrent) {
168 Info(
"GetNextPacket",
"%s: asking old packetizer %p ... ", wrk->
GetOrdinal(), lastPacketizer);
174 if (oldstat && curstat)
190 TMap *oldStats = (lastPacketizer && lastPacketizer ==
fCurrent) ? lastPacketizer->GetSlaveStats() : 0;
198 if (oldstat && curstat)
215 Info(
"GetNextPacket",
"assigned packetizer %p to %s (check: %p)",
222 Error(
"GetNextPacket",
"Processed too many entries!");
242 if (!dset || !wrks || !
input || !st) {
243 Error(
"CreatePacketizer",
"invalid inputs: dset:%p wrks:%p input:%p st:%p",
244 dset, wrks,
input, st);
250 Error(
"CreatePacketizer",
"dataset is empty: protocol error?");
255 TList *listOfMissingFiles = 0;
264 if (!(listOfMissingFiles = (
TList *)
input->FindObject(
"MissingFiles"))) {
266 listOfMissingFiles =
new TList;
268 input->Add(listOfMissingFiles);
274 Error(
"CreatePacketizer",
"no files from the data set were found - skipping");
280 packetizername =
"TPacketizer";
282 Info(
"CreatePacketizer",
"using alternate packetizer: %s", packetizername.
Data());
288 Error(
"CreatePacketizer",
"class '%s' not found", packetizername.
Data());
295 Error(
"CreatePacketizer",
"cannot find correct constructor for '%s'", cl->
GetName());
314 Error(
"CreatePacketizer",
"cannot construct '%s'", cl->
GetName());
319 Error(
"CreatePacketizer",
320 "instantiated packetizer object '%s' is invalid", cl->
GetName());
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
TClass instances represent classes, structs and namespaces in the ROOT type system.
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Manages an element of a TDSet.
TFileInfo * GetFileInfo(const char *type="TTree")
Return the content of this element in the form of a TFileInfo.
This class implements a data set to be used for PROOF processing.
Int_t Remove(TDSetElement *elem, Bool_t deleteElem=kTRUE)
Remove TDSetElement 'elem' from the list.
void Lookup(Bool_t removeMissing=kFALSE, TList **missingFiles=0)
Resolve the end-point URL for the current elements of this data set If the removeMissing option is se...
const char * GetType() const
TList * GetListOfElements() const
void Add(TObject *obj) override
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
void Add(TObject *obj) override
This function may not be used (but we need to provide it since it is a pure virtual in TCollection).
TObject * FindObject(const char *keyname) const override
Check if a (key,value) pair exists with keyname as name of the key.
TObject * GetValue(const char *keyname) const
Returns a pointer to the value associated with keyname as name of the key.
Method or function calling interface.
void ResetParam()
Reset parameter list. To be used before the first call the SetParam().
void Execute(const char *, const char *, int *=nullptr) override
Execute method on this object with the given parameter string, e.g.
Bool_t IsValid() const
Return true if the method call has been properly initialized and is usable.
void InitWithPrototype(TClass *cl, const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)
Initialize the method invocation environment.
void SetParam(Long_t l)
Add a long method parameter.
The TNamed class is the base class for all named ROOT classes.
const char * GetName() const override
Returns name of object.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
This class allows to do multiple runs in the same query; each run can be a, for example,...
TVirtualPacketizer * CreatePacketizer(TDSet *dset, TList *wrks, Long64_t first, Long64_t num, TList *input, TProofProgressStatus *st)
Create a packetizer for dataset 'dset' Return null on failure.
TVirtualPacketizer * fCurrent
~TPacketizerMulti() override
Destructor.
TDSetElement * GetNextPacket(TSlave *wrk, TMessage *r) override
Get next packet from the current packetizer.
Class used by TMap to store (key,value) pairs.
void SetValue(TObject *val)
Container class for processing statistics.
Long64_t GetEntries() const
TObject * GetParameter(const char *par) const
Get specified parameter.
Class describing a PROOF worker server.
const char * GetOrdinal() const
const char * Data() const
TProofProgressStatus * GetProgressStatus()
The packetizer is a load balancing object created for each query.
TProofProgressStatus * fProgressStatus
TMap * GetSlaveStats() const
Long64_t GetTotalEntries() const
Bool_t HandleTimer(TTimer *timer) override
Send progress message to client.
virtual TDSetElement * GetNextPacket(TSlave *sl, TMessage *r)
Get next packet.
void SetTotalEntries(Long64_t ent)