library: libProof
#include "TPacketizer.h"


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

class TPacketizer : public TVirtualPacketizer

Inheritance Chart:
TPacketizer() TPacketizer(const TPacketizer&) 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 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

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 TObject* fUnAllocNext cursor in fUnAllocated TList* fActive nodes with unfinished files TObject* fActiveNext cursor in fActive 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

Class Description

 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*/ )


void RemoveUnAllocNode(TFileNode * node)

void RemoveActive(TFileStat *file)

void RemoveActiveNode(TPacketizer::TFileNode *node)

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

Long64_t GetEntriesProcessed(TSlave *slave) const

TDSetElement* GetNextPacket(TSlave *sl, TMessage *r)

Bool_t HandleTimer(TTimer *)
 Send progress message to client.

Inline Functions

                    TPacketizer TPacketizer(const TPacketizer&)
                           void operator=(const TPacketizer&)
        TPacketizer::TFileNode* NextUnAllocNode()
        TPacketizer::TFileNode* NextActiveNode()
        TPacketizer::TFileStat* GetNextUnAlloc(TPacketizer::TFileNode* node = 0)
        TPacketizer::TFileStat* GetNextActive()
                    TPacketizer TPacketizer(TDSet* dset, TList* slaves, Long64_t first, Long64_t num, TList* input)
                       Long64_t GetEntriesProcessed(TSlave* sl) const
                        TClass* Class()
                        TClass* IsA() const
                           void ShowMembers(TMemberInspector& insp, char* parent)
                           void Streamer(TBuffer& b)
                           void StreamerNVirtual(TBuffer& b)

Author: Maarten Ballintijn 18/03/02
Last update: root/proof:$Name: $:$Id: TPacketizer.cxx,v 1.16 2004/12/06 16:46:01 brun 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.