Logo ROOT   6.07/09
Reference Guide
TPacketizerFile.h
Go to the documentation of this file.
1 // @(#)root/proofplayer:$Id$
2 // Author: G. Ganis 2009
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TPacketizerFile
13 #define ROOT_TPacketizerFile
14 
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // TPacketizerFile //
18 // //
19 // This packetizer generates packets which conatin a single file path //
20 // to be used in process. Used for tasks generating files, like in //
21 // PROOF bench. //
22 // //
23 //////////////////////////////////////////////////////////////////////////
24 
25 #ifndef ROOT_TVirtualPacketizer
26 #include "TVirtualPacketizer.h"
27 #endif
28 #ifndef ROOT_TMap
29 #include "TMap.h"
30 #endif
31 
32 
33 class TMessage;
34 class TList;
35 class TStopwatch;
36 
38 
39 public: // This is always needed
40  class TSlaveStat;
41  class TIterObj;
42 
43 private:
44  TMap *fFiles; // Files to be produced/processed per node
45  TList *fNotAssigned; // List of files not assigned to a specific node
46  TList *fIters; // Iterators on the file lists per node
47  Long64_t fAssigned; // No.files processed or being processed.
48  Bool_t fProcNotAssigned; // Whether to process files not asdigned to a worker
49  Bool_t fAddFileInfo; // Whether to add the TFileInfo object in the packet
50 
51  TStopwatch *fStopwatch; // For measuring the start time of each packet
52 
54  // : fFiles(0), fNotAssigned(0), fIters(0), fAssigned(0),
55  // fProcNotAssigned(kTRUE), fAddFileInfo(kFALSE), fStopwatch(0) { }
56  TPacketizerFile(const TPacketizerFile&); // no implementation, will generate
57  void operator=(const TPacketizerFile&); // error on accidental usage
58 
59 public:
60  TPacketizerFile(TList *workers, Long64_t, TList *input, TProofProgressStatus *st = 0);
61  virtual ~TPacketizerFile();
62 
64 
66 
68  Int_t GetActiveWorkers() { return -1; }
69 
70  ClassDef(TPacketizerFile,0) //Generate work packets for parallel processing
71 };
72 
73 //-------------------------------------------------------------------------------
74 
75 #endif
long long Long64_t
Definition: RtypesCore.h:69
float Float_t
Definition: RtypesCore.h:53
virtual ~TPacketizerFile()
Destructor.
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
Double_t GetCurrentTime()
Get current time.
Manages an element of a TDSet.
Definition: TDSet.h:68
#define ClassDef(name, id)
Definition: Rtypes.h:254
A doubly linked list.
Definition: TList.h:47
TDSetElement * GetNextPacket(TSlave *wrk, TMessage *r)
Get next packet.
TRandom2 r(17)
The packetizer is a load balancing object created for each query.
void operator=(const TPacketizerFile &)
double Double_t
Definition: RtypesCore.h:55
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
Definition: TMap.h:44
TStopwatch * fStopwatch
Class describing a PROOF worker server.
Definition: TSlave.h:50
Container class for processing statistics.
Float_t GetCurrentRate(Bool_t &all)
Get Estimation of the current rate; just summing the current rates of the active workers.
This packetizer generates packets which contain a single file path to be used in process.
Stopwatch class.
Definition: TStopwatch.h:30
Int_t GetActiveWorkers()