library: libProof
#include "TPacketizerProgressive.h"

TPacketizerProgressive


class description - header file - source file - inheritance tree (.pdf)

class TPacketizerProgressive : public TVirtualPacketizer

Inheritance Chart:
TObject
<-
TVirtualPacketizer
<-
TPacketizerProgressive
    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_t HandleTimer(TTimer* timer) void Init() void RecalculatePacketSize(Long64_t newCount) public:
TPacketizerProgressive(TDSet* dset, TList* slaves, Long64_t first, Long64_t num, TList* input) virtual ~TPacketizerProgressive() static TClass* Class() virtual Long64_t GetEntriesProcessed() const virtual Long64_t GetEntriesProcessed(TSlave* s) const virtual TDSetElement* GetNextPacket(TSlave* s, TMessage* r) virtual TClass* IsA() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TDSet* fDset TList* fSlaves TList* fSlavesRemaining slaves stilll working Long64_t fFirstEvent Long64_t fTotalEvents Long64_t fEntriesSeen number of entries found so far Long64_t fFilesOpened total number of files with their entries recorded Long64_t fEstTotalEntries estimated total number of entries Long64_t fEntriesProcessed total number of entries processed TMap* fSlaveStats map of slave addresses to its TSlaveStat object THashTable* fNewFileSlaves slaves that have just opened a new file and need to TList* fUnAllocSlaves slave hosts that have unallocated files TList* fUnAllocNonSlaves non-slave hosts that have unallocated files TList* fActiveSlaves slave hosts that have active files TList* fActiveNonSlaves non-slave hosts that have active files TList* fLastEntrySizes list of the last kEntryListSize TDSetElement sizes (in entries) Long64_t fPacketSize current packet size based on estimate of total number of entries TTimer* fProgress progress bar timer public:
static const enum TPacketizerProgressive:: kSlaveHostConnLim static const enum TPacketizerProgressive:: kNonSlaveHostConnLim static const enum TPacketizerProgressive:: kEntryListSize

Class Description

                                                                      
 TPacketizerProgressive                                               
                                                                      
 This class generates packets to be processed on PROOF slave 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.         
 This packetizer does not pre-open the files to calculate the total   
 number of events, it just walks sequentially through the list of     
 files.                                                               
                                                                      

TPacketizerProgressive(TDSet* dset, TList* slaves, Long64_t first, Long64_t num, TList* /*input*/)
: fDset(dset), fSlaves(slaves), fSlavesRemaining(0), fFirstEvent(first),
fTotalEvents(num), fEntriesSeen(0), fFilesOpened(0),
fEstTotalEntries(0), fEntriesProcessed(0)
{
 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)
 Get entries to be processed
TDSetElement * BuildPacket(TSlaveStat* stat, Long64_t size)
 Build a packet
void RecalculatePacketSize(Long64_t newCount)
 Shrink fLastEntrySizes to (kEntryListSize - 1).
TDSetElement * GetNextPacket(TSlave *s, TMessage *r)
 Get next packet
Bool_t HandleTimer(TTimer *)
 Send progress message to client.
Long64_t GetEntriesProcessed()
TPacketizerProgressive()
TPacketizerProgressive(const TPacketizerProgressive&)

Author: Zev Benjamin 13/09/2005
Last update: root/proof:$Name: $:$Id: TPacketizerProgressive.cxx,v 1.5 2006/07/01 12:05:49 rdm Exp $
Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

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.