class TPacketizerProgressive: public TVirtualPacketizer


TPacketizerProgressive

This class is one of PROOF packetizers.
 Packetizer 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.

The TPacketizerProgressive does not pre-open the files to calculate
the total number of events. It just walks sequentially through the
list of files.


Function Members (Methods)

public:
TPacketizerProgressive(TDSet* dset, TList* slaves, Long64_t first, Long64_t num, TList* input)
virtual~TPacketizerProgressive()
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 = "")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
Long64_tGetBytesRead() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Long64_tGetEntriesProcessed(TSlave* s) const
virtual Int_tTVirtualPacketizer::GetEstEntriesProcessed(Float_t, Long64_t& ent, Long64_t& bytes)
TList*TVirtualPacketizer::GetFailedPackets()
virtual const char*TObject::GetIconName() const
Float_tGetInitTime() const
virtual const char*TObject::GetName() const
virtual TDSetElement*GetNextPacket(TSlave* s, 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() 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_tTVirtualPacketizer::IsValid() 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)
TObject&TObject::operator=(const TObject& rhs)
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)
voidTVirtualPacketizer::SetFailedPackets(TList* list)
virtual voidTVirtualPacketizer::SetInitTime()
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidTVirtualPacketizer::StopProcess(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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Long64_tTVirtualPacketizer::GetEntries(Bool_t tree, TDSetElement* e)
voidTObject::MakeZombie()
private:
TPacketizerProgressive()
TPacketizerProgressive(const TPacketizerProgressive&)
TDSetElement*BuildPacket(TPacketizerProgressive::TSlaveStat* stat, Long64_t num)
TPacketizerProgressive::TFileStat*GetNextActive(TPacketizerProgressive::TSlaveStat* stat)
TPacketizerProgressive::TFileStat*GetNextUnAlloc(TPacketizerProgressive::TSlaveStat* stat)
virtual Bool_tHandleTimer(TTimer* timer)
voidInit()
voidRecalculatePacketSize(Long64_t newCount)

Data Members

public:
enum { kSlaveHostConnLim
kNonSlaveHostConnLim
kEntryListSize
};
enum TVirtualPacketizer::EUseEstOpt { kEstOff
kEstCurrent
kEstAverage
};
enum TVirtualPacketizer::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_tTVirtualPacketizer::fStopTermination of Process() requested?
Bool_tTVirtualPacketizer::fValidConstructed properly?
private:
TList*fActiveNonSlavesnon-slave hosts that have active files
TList*fActiveSlavesslave hosts that have active files
TDSet*fDset
Long64_tfEntriesSeennumber of entries found so far
Long64_tfEstTotalEntriesestimated total number of entries
Long64_tfFilesOpenedtotal number of files with their entries recorded
Long64_tfFirstEvent
TList*fLastEntrySizeslist of the last kEntryListSize TDSetElement sizes (in entries)
THashTable*fNewFileSlavesslaves that have just opened a new file and need to
Long64_tfPacketSizecurrent packet size based on estimate of total number of entries
TMap*fSlaveStatsmap of slave addresses to its TSlaveStat object
TList*fSlaves
TList*fSlavesRemainingslaves stilll working
Long64_tfTotalEvents
TList*fUnAllocNonSlavesnon-slave hosts that have unallocated files
TList*fUnAllocSlavesslave hosts that have unallocated files

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TPacketizerProgressive(TDSet* dset, TList* slaves, Long64_t first, Long64_t num, TList* input)
 Constructor
~TPacketizerProgressive()
 Destructor
void Init()
 Build slave -> slave stats map, available slave host list,
 and hash table of slave names.
Long64_t GetEntriesProcessed(TSlave* s) const
 Get entries to be processed
TDSetElement * BuildPacket(TPacketizerProgressive::TSlaveStat* stat, Long64_t num)
 Build a packet
 size - target size of the packet
 BUT the packet size may rise to (size * 2 - 1) !!
void RecalculatePacketSize(Long64_t newCount)
 Shrink fLastEntrySizes to (kEntryListSize - 1).
TDSetElement * GetNextPacket(TSlave* s, TMessage* r)
 Get next packet
Bool_t HandleTimer(TTimer* timer)
 Send progress message to client.
TFileStat * GetNextUnAlloc(TPacketizerProgressive::TSlaveStat* stat)
TFileStat * GetNextActive(TPacketizerProgressive::TSlaveStat* stat)
TPacketizerProgressive(const TPacketizerProgressive& )
TPacketizerProgressive(const TPacketizerProgressive& )
Long64_t GetTotalEntries()
{ return fEstTotalEntries; }
Long64_t GetBytesRead()
{ return 0; }
Float_t GetInitTime()
{ return 0; }
Float_t GetProcTime()
{ return 0; }

Author: Zev Benjamin 13/09/2005
Last change: root/proofplayer:$Id: TPacketizerProgressive.h 20882 2007-11-19 11:31:26Z rdm $
Last generated: 2008-06-25 08:50
Copyright (C) 1995-2005, 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.