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 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 = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
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
Long64_tGetBytesRead() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Long64_tGetEntriesProcessed() const
virtual Long64_tGetEntriesProcessed(TSlave* sl) const
virtual Int_tGetEstEntriesProcessed(Float_t, Long64_t& ent, Long64_t& bytes)
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
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() const
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
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 = "") const
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 = "")
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetInitTime()
static voidTObject::SetObjectStat(Bool_t stat)
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)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Long64_tGetEntries(Bool_t tree, TDSetElement* e)
voidTObject::MakeZombie()
private:
TVirtualPacketizer(const TVirtualPacketizer&)
TDSetElement*CreateNewPacket(TDSetElement* base, Long64_t first, Long64_t num)
virtual Bool_tHandleTimer(TTimer* timer)
voidoperator=(const TVirtualPacketizer&)

Data Members

public:
enum EUseEstOpt { kEstOff
kEstCurrent
kEstAverage
};
enum EStatusBits { kIsInitializing
};
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:
Long64_tfBytesReadnumber of bytes processed
Long_tfCircNCircularity
TNtupleD*fCircProgKeeps circular info for "instantenous"
Float_tfInitTimetime before processing
Float_tfProcTimetime since start of processing
Long64_tfProcessednumber of entries processed
TTimer*fProgressprogress updates timer
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)
 Constructor.
~TVirtualPacketizer()
 Destructor.
Long64_t GetEntries(Bool_t tree, TDSetElement* e)
 Get entries.
Long64_t GetEntriesProcessed(TSlave* sl) const
 Get Entries processed by the given slave.
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()
{ return fValid; }
Long64_t GetEntriesProcessed(TSlave* sl) const
{ return fProcessed; }
Int_t GetEstEntriesProcessed(Float_t , Long64_t& ent, Long64_t& bytes)
{ ent = fProcessed; bytes = fBytesRead; return 0; }
Long64_t GetTotalEntries()
{ return fTotalEntries; }
Long64_t GetBytesRead()
{ return fBytesRead; }
Float_t GetInitTime()
{ return fInitTime; }
Float_t GetProcTime()
{ return fProcTime; }

Author: Maarten Ballintijn 9/7/2002
Last update: root/proofplayer:$Id: TVirtualPacketizer.h 20882 2007-11-19 11:31:26Z rdm $
Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.