FairMQ
1.2.1
C++ Message Passing Framework
|
Utility class to facilitate a convenient top-level device launch/shutdown. More...
#include <fairmq/DeviceRunner.h>
Public Member Functions | |
DeviceRunner (int argc, char *const argv[]) | |
auto | Run () -> int |
auto | RunWithExceptionHandlers () -> int |
template<typename H > | |
auto | AddHook (std::function< void(DeviceRunner &)> hook) -> void |
template<typename H > | |
auto | RemoveHook () -> void |
Public Attributes | |
std::vector< std::string > | fRawCmdLineArgs |
std::shared_ptr< PluginManager > | fPluginManager |
FairMQProgOptions | fConfig |
std::shared_ptr< FairMQDevice > | fDevice |
Utility class to facilitate a convenient top-level device launch/shutdown.
Runs a single FairMQ device with config and plugin support.
For customization user hooks are executed at various steps during device launch/shutdown in the following sequence:
LoadPlugins | v
SetCustomCmdLineOptions | v ModifyRawCmdLineArgs | v InstatiateDevice
Each hook has access to all members of the DeviceRunner and really only differs by the point in time it is called.
For an example usage of this class see the fairmq/runFairMQDevice.h header.