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());
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
virtual void Add(TObject *obj)
virtual TObject * Remove(TObject *obj)
Remove object from the list.
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
void Add(TObject *obj)
This function may not be used (but we need to provide it since it is a pure virtual in TCollection).
TObject * GetValue(const char *keyname) const
Returns a pointer to the value associated with keyname as name of the key.
TObject * FindObject(const char *keyname) const
Check if a (key,value) pair exists 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().
Bool_t IsValid() const
Return true if the method call has been properly initialized and is usable.
void Execute(const char *, const char *, int *=0)
Execute method on this object with the given parameter string, e.g.
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.
virtual const char * GetName() const
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
TDSetElement * GetNextPacket(TSlave *wrk, TMessage *r)
Get next packet from the current packetizer.
virtual ~TPacketizerMulti()
Destructor.
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
virtual Bool_t HandleTimer(TTimer *timer)
Send progress message to client.
TMap * GetSlaveStats() const
Long64_t GetTotalEntries() const
virtual TDSetElement * GetNextPacket(TSlave *sl, TMessage *r)
Get next packet.
void SetTotalEntries(Long64_t ent)