10#ifndef _BE_MPI_WORKPACKAGEPROCESSOR_H
11#define _BE_MPI_WORKPACKAGEPROCESSOR_H
61 virtual std::shared_ptr<WorkPackageProcessor>
63 std::shared_ptr<IO::Logsheet> &logsheet) = 0;
86 std::shared_ptr<IO::Logsheet> &logsheet) = 0;
145 std::shared_ptr<IO::Logsheet> _logsheet;
A class to represent a piece of work to be acted upon by a processor.
Represents an object that processes the contents of a work package.
virtual void processWorkPackage(MPI::WorkPackage &workPackage)=0
Process the data contents of the work package.
virtual void performInitialization(std::shared_ptr< IO::Logsheet > &logsheet)=0
Initialization function to be called before work is distributed to the work package processor.
virtual ~WorkPackageProcessor()
std::shared_ptr< IO::Logsheet > getLogsheet()
Obtain the IO::Logsheet object that can be used to save message for objects of this class.
virtual std::shared_ptr< WorkPackageProcessor > newProcessor(std::shared_ptr< IO::Logsheet > &logsheet)=0
Obtain an object that will process work packages.
void setLogsheet(std::shared_ptr< IO::Logsheet > &logsheet)
Set the IO::Logsheet object that can be used to save message for objects of this class.
virtual void performShutdown()
Terminiation function to be called during shut down after all work package processing is done.
This software was developed at the National Institute of Standards and Technology (NIST) by employees...