Loading [MathJax]/extensions/tex2jax.js
Logo ROOT   6.08/07
Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TPoolProcessor< F > Class Template Reference

template<class F>
class TPoolProcessor< F >

Definition at line 71 of file TPoolProcessor.h.

Public Member Functions

 TPoolProcessor (F procFunc, const std::vector< std::string > &fileNames, const std::string &treeName, unsigned nWorkers, ULong64_t maxEntries)
 
 TPoolProcessor (F procFunc, TTree *tree, unsigned nWorkers, ULong64_t maxEntries)
 
 ~TPoolProcessor ()
 
void HandleInput (MPCodeBufPair &msg)
 Execute instructions received from a TPool client. More...
 
void Init (int fd, unsigned workerN)
 This method is called by children processes right after forking. More...
 
- Public Member Functions inherited from TMPWorker
 TMPWorker ()
 Class constructors. More...
 
 TMPWorker (const std::vector< std::string > &fileNames, const std::string &treeName, unsigned nWorkers, ULong64_t maxEntries)
 
 TMPWorker (TTree *tree, unsigned nWorkers, ULong64_t maxEntries)
 
 TMPWorker (const TMPWorker &)=delete
 
virtual ~TMPWorker ()
 
unsigned GetNWorker () const
 
pid_t GetPid ()
 
TSocketGetSocket ()
 
TMPWorkeroperator= (const TMPWorker &)=delete
 
void Run ()
 

Private Member Functions

ULong64_t EvalMaxEntries (ULong64_t maxEntries)
 
void Process (unsigned code, MPCodeBufPair &msg)
 

Private Attributes

bool fCanReduce
 true if fReducedResult can be reduced with a new result, false until we have produced one result More...
 
F fProcFunc
 the function to be executed More...
 
std::result_of< F(std::reference_wrapper< TTreeReader >)>::type fReducedResult
 the results of the executions of fProcFunc merged together More...
 

Additional Inherited Members

- Protected Member Functions inherited from TMPWorker
void CloseFile ()
 Handle file closing. More...
 
TFileOpenFile (const std::string &fileName)
 Handle file opening. More...
 
TTreeRetrieveTree (TFile *fp)
 Retrieve a tree from an open file. More...
 
void SendError (const std::string &errmsg, unsigned int code=MPCode::kError)
 Error sender. More...
 
void Setup ()
 Auxilliary method for common initializations. More...
 
void SetupTreeCache (TTree *tree)
 Tree cache handling. More...
 
- Protected Attributes inherited from TMPWorker
TFilefFile
 last open file More...
 
std::vector< std::string > fFileNames
 the files to be processed by all workers More...
 
std::string fId
 identifier string in the form W<nwrk>|P<proc id>=""> More...
 
ULong64_t fMaxNEntries
 the maximum number of entries to be processed by this worker More...
 
unsigned fNWorkers
 the number of workers spawned More...
 
ULong64_t fProcessedEntries
 the number of entries processed by this worker so far More...
 
TTreefTree
 pointer to the tree to be processed. It is only used if the tree is directly passed to TProcessExecutor::Process as argument More...
 
std::string fTreeName
 the name of the tree to be processed More...
 

#include <TPoolProcessor.h>

Inheritance diagram for TPoolProcessor< F >:
[legend]

Constructor & Destructor Documentation

◆ TPoolProcessor() [1/2]

template<class F >
TPoolProcessor< F >::TPoolProcessor ( F  procFunc,
const std::vector< std::string > &  fileNames,
const std::string &  treeName,
unsigned  nWorkers,
ULong64_t  maxEntries 
)

Definition at line 91 of file TPoolProcessor.h.

◆ TPoolProcessor() [2/2]

template<class F >
TPoolProcessor< F >::TPoolProcessor ( F  procFunc,
TTree tree,
unsigned  nWorkers,
ULong64_t  maxEntries 
)

Definition at line 99 of file TPoolProcessor.h.

◆ ~TPoolProcessor()

template<class F>
TPoolProcessor< F >::~TPoolProcessor ( )
inline

Definition at line 75 of file TPoolProcessor.h.

Member Function Documentation

◆ EvalMaxEntries()

template<class F >
ULong64_t TPoolProcessor< F >::EvalMaxEntries ( ULong64_t  maxEntries)
private

Definition at line 249 of file TPoolProcessor.h.

◆ HandleInput()

template<class F >
void TPoolProcessor< F >::HandleInput ( MPCodeBufPair msg)
virtual

Execute instructions received from a TPool client.

Reimplemented from TMPWorker.

Definition at line 106 of file TPoolProcessor.h.

◆ Init()

template<class F >
void TPoolProcessor< F >::Init ( int  fd,
unsigned  workerN 
)
virtual

This method is called by children processes right after forking.

Initialization of worker properties that must be delayed until after forking must be done here.
For example, Init saves the pid into fPid, and adds the TMPWorker to the main eventloop (as a TFileHandler).
Make sure this operations are performed also by overriding implementations, e.g. by calling TMPWorker::Init explicitly.

Reimplemented from TMPWorker.

Definition at line 128 of file TPoolProcessor.h.

◆ Process()

template<class F >
void TPoolProcessor< F >::Process ( unsigned  code,
MPCodeBufPair msg 
)
private

Definition at line 136 of file TPoolProcessor.h.

Member Data Documentation

◆ fCanReduce

template<class F>
bool TPoolProcessor< F >::fCanReduce
private

true if fReducedResult can be reduced with a new result, false until we have produced one result

Definition at line 86 of file TPoolProcessor.h.

◆ fProcFunc

template<class F>
F TPoolProcessor< F >::fProcFunc
private

the function to be executed

Definition at line 84 of file TPoolProcessor.h.

◆ fReducedResult

template<class F>
std::result_of<F(std::reference_wrapper<TTreeReader>)>::type TPoolProcessor< F >::fReducedResult
private

the results of the executions of fProcFunc merged together

Definition at line 85 of file TPoolProcessor.h.


The documentation for this class was generated from the following file: