library: libProof #include "TPacketizer.h"

# TPacketizer

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

## class TPacketizer : public TVirtualPacketizer

| Inheritance Chart:

`TObject`

<-

`TVirtualPacketizer`

<-

`TPacketizer`

        private:

                                  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

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

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

~TPacketizer()

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.15 2004/06/25 17:27:09 rdm Exp $
Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *