FRIBParallelanalysis
1.0
FrameworkforMPIParalleldataanalysisatFRIB
|
#include <MPIParameterFarmer.h>
Public Member Functions | |
CMPIParameterFarmer (int argc, char **argv, AbstractApplication &app) | |
virtual | ~CMPIParameterFarmer () |
void | operator() () |
This can be instantiated in the farmer method of thee CAbstractApplication specialization to farm parameter data items from workers and sort them before handing them off to the outputter.
Normal usage might be:
* CMPIParameterFarmer farmer(argc, argv, pApp); * farmer(); *
The outputter rank will receive the items sent to us sorted by trigger number. Once all workers have sent us ends, we'll flush any remaining unflushed items and then send an end to the outputter. The unflushed items will be in trigger order but will probably have at least one skip (else they already would have been emitted).
frib::analysis::CMPIParameterFarmer::CMPIParameterFarmer | ( | int | argc, |
char ** | argv, | ||
AbstractApplication & | app | ||
) |
constructor Simply save the argc/argv in case we later need it (this implementation does not but later we might have some blocking factors). Save the application so that we can get at the pre-built data types.
The idea is that there's construction of the proceess and then, by calling the object as a functor, the process rus.
argc,argv | - the command line parameters. |
app | - References the application object. |
|
virtual |
Destructor kill the buffer:
void frib::analysis::CMPIParameterFarmer::operator() | ( | ) |
operator()