library: libProof
#include "TPacketizer.h"

TPacketizer


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

class TPacketizer : public TVirtualPacketizer

Inheritance Chart:
TObject
<-
TVirtualPacketizer
<-
TPacketizer
    private:
TPacketizer() TPacketizer(const TPacketizer&) TDSetElement* CreateNewPacket(TDSetElement* base, Long64_t first, Long64_t num) TPacketizer::TFileStat* GetNextActive() TPacketizer::TFileStat* GetNextUnAlloc(TPacketizer::TFileNode* node = 0) virtual Bool_t HandleTimer(TTimer* timer) TPacketizer::TFileNode* NextActiveNode() TPacketizer::TFileNode* NextUnAllocNode() void operator=(const TPacketizer&) void RemoveActive(TPacketizer::TFileStat* file) void RemoveActiveNode(TPacketizer::TFileNode*) void RemoveUnAllocNode(TPacketizer::TFileNode*) void Reset() void SplitEventList(TDSet* dset) void ValidateFiles(TDSet* dset, TList* slaves) public:
TPacketizer(TDSet* dset, TList* slaves, Long64_t first, Long64_t num, TList* input) virtual ~TPacketizer() static TClass* Class() virtual Long64_t GetEntriesProcessed() const virtual Long64_t GetEntriesProcessed(TSlave* sl) const virtual TDSetElement* GetNextPacket(TSlave* sl, 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:
Long64_t fProcessed number of entries processed TList* fPackets all processed packets Long64_t fTotalEntries total number of entries to be distributed TList* fFileNodes nodes with files TList* fUnAllocated nodes with unallocated files TList* fActive nodes with unfinished files TMap* fSlaveStats slave status, keyed by correspondig TSlave TTimer* fProgress progress updates timer Long64_t fPacketSize global base packet size Int_t fMaxPerfIdx maximum of our slaves' performance index Int_t fMaxSlaveCnt maximum number of slaves per filenode

Class Description

                                                                      
 TPacketizer                                                          
                                                                      
 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.         
                                                                      

TPacketizer(TDSet *dset, TList *slaves, Long64_t first, Long64_t num, TList *input)
 Constructor
~TPacketizer()
 Destructor.
void RemoveUnAllocNode(TFileNode * node)
 Remove unallocated node.
void RemoveActive(TFileStat *file)
 Remove file from the list of actives.
void RemoveActiveNode(TFileNode *node)
 Remove node from the list of actives.
void Reset()
 Reset the internal datastructure for packet distribution.
void ValidateFiles(TDSet *dset, TList *slaves)
 Check existence of file/dir/tree an get number of entries.
 Assumes the files have been setup.
void SplitEventList(TDSet *dset)
 Splits the eventlist into parts for each file.
 Each part is assigned to the apropriate TDSetElement.
Long64_t GetEntriesProcessed(TSlave *slave)
 Get entries processed by the specified slave.
TDSetElement* CreateNewPacket(TDSetElement* base, Long64_t first, Long64_t num)
 Creates a new TDSetElement from from base packet starting from first entry with num entries.
 The function returns a new created objects which have to be deleted.
TDSetElement * GetNextPacket(TSlave *sl, TMessage *r)
 Get next packet
Bool_t HandleTimer(TTimer *)
 Send progress message to client.
TPacketizer()
TPacketizer(const TPacketizer&)
void operator=(const TPacketizer&)
Long64_t GetEntriesProcessed()

Author: Maarten Ballintijn 18/03/02
Last update: root/proof:$Name: $:$Id: TPacketizer.cxx,v 1.35 2006/07/01 12:05:49 rdm Exp $
Copyright (C) 1995-2002, 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.