library: libProof #include "TPacketizer2.h"

# TPacketizer2

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

## class TPacketizer2 : public TVirtualPacketizer

| Inheritance Chart:

`TObject`

<-

`TVirtualPacketizer`

<-

`TPacketizer2`

        private:

                                   TPacketizer2()
                                   TPacketizer2(const TPacketizer2&)
          TPacketizer2::TFileStat* GetNextActive()
          TPacketizer2::TFileStat* GetNextUnAlloc(TPacketizer2::TFileNode* node = 0)
                    virtual Bool_t HandleTimer(TTimer* timer)
          TPacketizer2::TFileNode* NextActiveNode()
          TPacketizer2::TFileNode* NextUnAllocNode()
                              void operator=(const TPacketizer2&)
                              void RemoveActive(TPacketizer2::TFileStat* file)
                              void RemoveActiveNode(TPacketizer2::TFileNode*)
                              void RemoveUnAllocNode(TPacketizer2::TFileNode*)
                              void Reset()
                              void ValidateFiles(TDSet* dset, TList* slaves)

        public:

                                TPacketizer2(TDSet* dset, TList* slaves, Long64_t first, Long64_t num, TList* input)
                        virtual ~TPacketizer2()
                 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

     TPacketizer2

     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.

TPacketizer2(TDSet *dset, TList *slaves, Long64_t first, Long64_t num, TList *input)

~TPacketizer2()

void RemoveUnAllocNode(TFileNode * node)

void RemoveActive(TFileStat *file)

void RemoveActiveNode(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

                        TPacketizer2 TPacketizer2(const TPacketizer2&)
                                void operator=(const TPacketizer2&)
            TPacketizer2::TFileNode* NextUnAllocNode()
            TPacketizer2::TFileNode* NextActiveNode()
            TPacketizer2::TFileStat* GetNextUnAlloc(TPacketizer2::TFileNode* node = 0)
            TPacketizer2::TFileStat* GetNextActive()
                        TPacketizer2 TPacketizer2(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: TPacketizer2.cxx,v 1.31 2004/07/09 04:45:24 brun Exp $
Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *