ifw-daq
3.0.0-pre2
IFW Data Acquisition modules
|
Implements behaviour from the state NotScheduled to Completed. More...
#include <daqController.hpp>
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.