|
ifw-daq
3.0.0-pre2
IFW Data Acquisition modules
|
Implements behaviour from the state NotScheduled to Completed. More...
#include <daqController.hpp>
Inheritance diagram for daq::DpmDaqController:Public Member Functions | |
| DpmDaqController (boost::asio::io_context &io_context, DaqContext context, std::shared_ptr< ObservableStatus > status, std::shared_ptr< ObservableEventLog > event_log, std::shared_ptr< DpmClient > dpm_client) | |
| Constructor. More... | |
| boost::future< State > | ScheduleMergeAsync () override |
| Schedules DAQ for merging by sending request to DPM. More... | |
| boost::future< State > | StartAsync () override |
| boost::future< Status > | StopAsync (ErrorPolicy policy) override |
| void | UpdateKeywords (fits::KeywordVector const &keywords) override |
| boost::future< State > | AwaitAsync (std::vector< std::string > sources, std::chrono::milliseconds timeout) override |
| boost::future< Status > | AbortAsync (ErrorPolicy policy) override |
| Attempts to abort Data Acquisition. More... | |
| State | GetState () const DAQ_NOEXCEPT override |
Public Member Functions inherited from daq::CommonDaqController | |
| CommonDaqController (boost::asio::io_context &io_context, DaqContext context, std::shared_ptr< ObservableStatus > status, std::shared_ptr< ObservableEventLog > event_log) | |
| std::shared_ptr< ObservableStatus > | GetStatus () DAQ_NOEXCEPT override |
| std::shared_ptr< ObservableStatus const > | GetStatus () const DAQ_NOEXCEPT override |
| std::shared_ptr< ObservableEventLog > | GetEventLog () DAQ_NOEXCEPT override |
| std::string const & | GetId () const DAQ_NOEXCEPT override |
| bool | GetErrorFlag () const DAQ_NOEXCEPT override |
| DaqContext const & | GetContext () const DAQ_NOEXCEPT override |
| boost::signals2::connection | ConnectContext (ContextSignal::slot_type const &slot) override |
| Connect observer that is invoked when context is modified. More... | |
Public Member Functions inherited from daq::DaqController | |
| DaqController ()=default | |
| virtual | ~DaqController ()=default |
Additional Inherited Members | |
Public Types inherited from daq::DaqController | |
| using | ContextSignal = boost::signals2::signal< void(DaqContext const &)> |
Protected Member Functions inherited from daq::CommonDaqController | |
| template<class T , class... Args> | |
| void | AddEvent (Args &&... args) |
| boost::asio::io_context & | GetIoCtx () noexcept |
| rad::IoExecutor & | GetIoExecutor () noexcept |
| DaqContext & | GetContextMut () noexcept |
| ObservableEventLog & | GetEventLogRef () noexcept |
| ObservableStatus & | GetStatusRef () noexcept |
| ObservableStatus const & | GetStatusRef () const noexcept |
| void | EmitContextSignal () |
Implements behaviour from the state NotScheduled to Completed.
Once successfully scheduled to be merged by DPM (NotScheduled -> Scheduled) the "location" for the true DAQ state is also transferred. This means:
Definition at line 519 of file daqController.hpp.
| daq::DpmDaqController::DpmDaqController | ( | boost::asio::io_context & | io_context, |
| DaqContext | context, | ||
| std::shared_ptr< ObservableStatus > | status, | ||
| std::shared_ptr< ObservableEventLog > | event_log, | ||
| std::shared_ptr< DpmClient > | dpm_client | ||
| ) |
Constructor.
@important DpmDaqController must only be used with shared_ptr.
| io_context | Used for async operations. |
| context | DAQ context. |
| status | DAQ status. |
| dpm_client | Interface to DPM. During construction DpmDaqController will register signal slot to receive DAQ status updates and mirror that in status accordingly. |
| std::invalid_argument | if state of status is not NotScheduled or subsequent. |
Definition at line 733 of file daqController.cpp.
|
overridevirtual |
Attempts to abort Data Acquisition.
Implements daq::DaqController.
Definition at line 866 of file daqController.cpp.
|
overridevirtual |
Implements daq::DaqController.
Definition at line 779 of file daqController.cpp.
|
overridevirtual |
Implements daq::DaqController.
Definition at line 788 of file daqController.cpp.
|
overridevirtual |
Schedules DAQ for merging by sending request to DPM.
Implements daq::DaqController.
Definition at line 792 of file daqController.cpp.
|
overridevirtual |
Implements daq::DaqController.
Definition at line 768 of file daqController.cpp.
|
overridevirtual |
Implements daq::DaqController.
Definition at line 773 of file daqController.cpp.
|
overridevirtual |
| std::runtime_error | because operation is always invalid (keywords cannot be modified once delivered to DPM). |
Implements daq::DaqController.
Definition at line 784 of file daqController.cpp.