Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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#include "TVirtualPacketizer.h"
26#include "TMap.h"
27
28
29class TMessage;
30class TList;
31class TStopwatch;
32
34
35public: // This is always needed
36 class TSlaveStat;
37 class TIterObj;
38
39private:
40 TMap *fFiles; // Files to be produced/processed per node
41 TList *fNotAssigned; // List of files not assigned to a specific node
42 TList *fIters; // Iterators on the file lists per node
43 Long64_t fAssigned; // No.files processed or being processed.
44 Bool_t fProcNotAssigned; // Whether to process files not asdigned to a worker
45 Bool_t fAddFileInfo; // Whether to add the TFileInfo object in the packet
46
47 TStopwatch *fStopwatch; // For measuring the start time of each packet
48
50 // : fFiles(0), fNotAssigned(0), fIters(0), fAssigned(0),
51 // fProcNotAssigned(kTRUE), fAddFileInfo(kFALSE), fStopwatch(0) { }
52 TPacketizerFile(const TPacketizerFile&); // no implementation, will generate
53 void operator=(const TPacketizerFile&); // error on accidental usage
54
55public:
57 ~TPacketizerFile() override;
58
59 TDSetElement *GetNextPacket(TSlave *wrk, TMessage *r) override;
60
62
63 Float_t GetCurrentRate(Bool_t &all) override;
64 Int_t GetActiveWorkers() override { return -1; }
65
66 ClassDefOverride(TPacketizerFile,0) //Generate work packets for parallel processing
67};
68
69//-------------------------------------------------------------------------------
70
71#endif
float Float_t
Definition RtypesCore.h:57
long long Long64_t
Definition RtypesCore.h:69
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Manages an element of a TDSet.
Definition TDSet.h:66
A doubly linked list.
Definition TList.h:38
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
Definition TMap.h:40
This packetizer generates packets which contain a single file path to be used in process.
Int_t GetActiveWorkers() override
TPacketizerFile(const TPacketizerFile &)
void operator=(const TPacketizerFile &)
Float_t GetCurrentRate(Bool_t &all) override
Get Estimation of the current rate; just summing the current rates of the active workers.
TDSetElement * GetNextPacket(TSlave *wrk, TMessage *r) override
Get next packet.
Double_t GetCurrentTime()
Get current time.
~TPacketizerFile() override
Destructor.
TStopwatch * fStopwatch
Container class for processing statistics.
Class describing a PROOF worker server.
Definition TSlave.h:46
Stopwatch class.
Definition TStopwatch.h:28
The packetizer is a load balancing object created for each query.