ROOT logo
ROOT » PROOF » PROOFPLAYER » TVirtualPacketizer

class TVirtualPacketizer: public TObject


TVirtualPacketizer

The packetizer is a load balancing object created for each query.
It generates packets to be processed on PROOF worker servers.
A packet is an event range (begin entry and number of entries) or
object range (first object and number of objects) in a TTree
(entries) or a directory (objects) in a file.
Packets are generated taking into account the performance of the
remote machine, the time it took to process a previous packet on
the remote machine, the locality of the database files, etc.

TVirtualPacketizer includes common parts of PROOF packetizers.
Look in subclasses for details.
The default packetizer is TPacketizerAdaptive.
To use an alternative one, for instance - the TPacketizer, call:
proof->SetParameter("PROOF_Packetizer", "TPacketizer");


Function Members (Methods)

public:
virtual~TVirtualPacketizer()
voidTObject::AbstractMethod(const char* method) const
virtual Int_tAddProcessed(TSlave*, TProofProgressStatus*, Double_t, TList**)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Int_tGetActiveWorkers()
Long64_tGetBytesRead() const
Double_tGetCumProcTime() const
virtual Float_tGetCurrentRate(Bool_t& all)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Long64_tGetEntriesProcessed() const
virtual Int_tGetEstEntriesProcessed(Float_t, Long64_t& ent, Long64_t& bytes, Long64_t& calls)
TList*GetFailedPackets()
virtual const char*TObject::GetIconName() const
Float_tGetInitTime() const
virtual const char*TObject::GetName() const
virtual TDSetElement*GetNextPacket(TSlave* sl, TMessage* r)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Float_tGetProcTime() const
Long64_tGetReadCalls() const
TProofProgressStatus*GetStatus()
virtual const char*TObject::GetTitle() const
Long64_tGetTotalEntries() const
virtual UInt_tTObject::GetUniqueID() const
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tIsValid() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
virtual voidMarkBad(TSlave*, TProofProgressStatus*, TList**)
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetFailedPackets(TList* list)
virtual voidSetInitTime()
static voidTObject::SetObjectStat(Bool_t stat)
voidSetProgressStatus(TProofProgressStatus* st)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStopProcess(Bool_t abort)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
TVirtualPacketizer(TList* input, TProofProgressStatus* st = 0)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Long64_tGetEntries(Bool_t tree, TDSetElement* e)
voidTObject::MakeZombie()

Data Members

public:
enum EUseEstOpt { kEstOff
kEstCurrent
kEstAverage
};
enum EStatusBits { kIsInitializing
kIsDone
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tfStopTermination of Process() requested?
Bool_tfValidConstructed properly?
private:
Long_tfCircNCircularity
TNtupleD*fCircProgKeeps circular info for "instantenous"
TList*fFailedPacketsa list of packets that failed while processing
Float_tfInitTimetime before processing
Float_tfProcTimetime since start of processing
TTimer*fProgressprogress updates timer
TProofProgressStatus*fProgressStatuspointer to status in the player.
Long_tfStartTimetime offset
Float_tfTimeUpdttime between updates
Long64_tfTotalEntriestotal number of entries to be distributed;
TVirtualPacketizer::EUseEstOptfUseEstOptControl usage of estimated values for the progress info

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TVirtualPacketizer(TList* input, TProofProgressStatus* st = 0)
 Constructor.
~TVirtualPacketizer()
 Destructor.
Long64_t GetEntries(Bool_t tree, TDSetElement* e)
 Get entries.
TDSetElement * GetNextPacket(TSlave* sl, TMessage* r)
 Get next packet.
void StopProcess(Bool_t abort)
 Stop process.
TDSetElement* CreateNewPacket(TDSetElement* base, Long64_t first, Long64_t num)
 Creates a new TDSetElement from from base packet starting from
 the first entry with num entries.
 The function returns a new created objects which have to be deleted.
Bool_t HandleTimer(TTimer* timer)
 Send progress message to client.
void SetInitTime()
 Set the initialization time
TVirtualPacketizer(const TVirtualPacketizer& )
void operator=(const TVirtualPacketizer& )
Bool_t IsValid() const
{ return fValid; }
Long64_t GetEntriesProcessed() const
Int_t GetEstEntriesProcessed(Float_t , Long64_t& ent, Long64_t& bytes, Long64_t& calls)
{ ent = GetEntriesProcessed(); bytes = GetBytesRead(); calls = GetReadCalls(); return 0; }
Float_t GetCurrentRate(Bool_t& all)
{ all = kTRUE; return (fProgressStatus? fProgressStatus->GetCurrentRate() : 0.); }
Long64_t GetTotalEntries() const
{ return fTotalEntries; }
TList * GetFailedPackets()
{ return fFailedPackets; }
void SetFailedPackets(TList* list)
{ fFailedPackets = list; }
Long64_t GetBytesRead() const
Long64_t GetReadCalls() const
Double_t GetCumProcTime() const
Float_t GetInitTime() const
{ return fInitTime; }
Float_t GetProcTime() const
{ return fProcTime; }
void MarkBad(TSlave* , TProofProgressStatus* , TList** )
{ return; }
Int_t AddProcessed(TSlave* , TProofProgressStatus* , Double_t , TList** )
{ return fProgressStatus; }
void SetProgressStatus(TProofProgressStatus* st)
{ fProgressStatus = st; }
Int_t GetActiveWorkers()
{ return -1; }