9 #ifndef FAIR_MQ_PLUGINS_CONTROL 10 #define FAIR_MQ_PLUGINS_CONTROL 12 #include <fairmq/Plugin.h> 13 #include <fairmq/Version.h> 14 #include <fairmq/StateQueue.h> 16 #include <condition_variable> 39 auto InteractiveMode() -> void;
40 static auto PrintInteractiveHelpColor() -> void;
41 static auto PrintInteractiveHelp() -> void;
42 static auto PrintStateMachineColor() -> void;
43 static auto PrintStateMachine() -> void;
44 auto StaticMode() -> void;
45 auto SignalHandler() -> void;
46 auto RunShutdownSequence() -> void;
47 auto RunStartupSequence() -> void;
49 std::thread fControllerThread;
50 std::thread fSignalHandlerThread;
51 std::mutex fControllerMutex;
52 std::atomic<bool> fDeviceShutdownRequested;
53 std::atomic<bool> fDeviceHasShutdown;
54 std::atomic<bool> fPluginShutdownRequested;
58 auto ControlPluginProgramOptions() -> Plugin::ProgOptions;
60 REGISTER_FAIRMQ_PLUGIN(
63 (
Plugin::Version{FAIRMQ_VERSION_MAJOR, FAIRMQ_VERSION_MINOR, FAIRMQ_VERSION_PATCH}),
64 "FairRootGroup <fairroot@gsi.de>",
65 "https://github.com/FairRootGroup/FairMQ",
66 ControlPluginProgramOptions
Facilitates communication between devices and plugins.
Definition: PluginServices.h:40
Definition: StateQueue.h:25
Base class for FairMQ plugins.
Definition: Plugin.h:39
Tools for interfacing containers to the transport via polymorphic allocators.
Definition: DeviceRunner.h:23