ifw-daq
3.0.0-pre2
IFW Data Acquisition modules
|
#include <scheduler.hpp>
Public Types | |
using | DaqControllerFactory = std::function< std::unique_ptr< DaqController >(std::unique_ptr< DaqWorkspace >, Resources &)> |
Public Types inherited from daq::dpm::Scheduler | |
using | StatusSignal = boost::signals2::signal< void(Status const &)> |
Signals. More... | |
Public Member Functions | |
SchedulerImpl (rad::IoExecutor &executor, Workspace &workspace, DaqControllerFactory daq_controller_factory, SchedulerOptions const &options) | |
Constructs a scheduler loading information from workspace ws. More... | |
std::string | QueueDaq (std::string const &dp_spec) override |
Queues DAQ for processing. More... | |
void | AbortDaq (std::string const &) override |
Abort merging DAQ identified by id . More... | |
bool | IsQueued (std::string const &id) const noexcept override |
Queries if DAQ with ID has been queued before in the current workspace. More... | |
Status | GetDaqStatus (std::string const &id) const override |
Queries current DAQ status, possibly from last recorded status in workspace. More... | |
std::vector< std::string > | GetQueue () const noexcept override |
Queries current DAQ queue. More... | |
void | Start () override |
Start/stop operations. More... | |
void | Stop () override |
Signals. | |
| |
boost::signals2::connection | ConnectStatus (StatusSignal::slot_type const &slot) override |
Signals. More... | |
Public Member Functions inherited from daq::dpm::Scheduler | |
virtual | ~Scheduler () |
Definition at line 346 of file scheduler.hpp.
using daq::dpm::SchedulerImpl::DaqControllerFactory = std::function<std::unique_ptr<DaqController>(std::unique_ptr<DaqWorkspace>, Resources&)> |
Definition at line 348 of file scheduler.hpp.
daq::dpm::SchedulerImpl::SchedulerImpl | ( | rad::IoExecutor & | executor, |
Workspace & | workspace, | ||
DaqControllerFactory | daq_controller_factory, | ||
SchedulerOptions const & | options | ||
) |
Constructs a scheduler loading information from workspace ws.
The scheduler will load the stored list of queued DAQs and schedule operations to be performed in priority order.
Definition at line 64 of file scheduler.cpp.
|
overridevirtual |
Abort merging DAQ identified by id
.
id | DAQ id. |
std::invalid_argument | if DAQ is unknown. |
Implements daq::dpm::Scheduler.
Definition at line 185 of file scheduler.cpp.
|
overridevirtual |
|
overridevirtual |
Queries current DAQ status, possibly from last recorded status in workspace.
id | DAQ id. |
std::invalid_argument | if DAQ is not known. |
Implements daq::dpm::Scheduler.
Definition at line 170 of file scheduler.cpp.
|
overridevirtualnoexcept |
Queries current DAQ queue.
Implements daq::dpm::Scheduler.
Definition at line 181 of file scheduler.cpp.
|
overridevirtualnoexcept |
Queries if DAQ with ID has been queued before in the current workspace.
id | DAQ id. |
std::invalid_argument | if DAQ is not known. |
Implements daq::dpm::Scheduler.
Definition at line 166 of file scheduler.cpp.
|
overridevirtual |
Queues DAQ for processing.
dp_spec | JSON encoded Data Product Specification. If parsing fails a std::invalid_argument will be thrown. |
std::invalid_argument | if dp_spec is invalid or is already queued. |
Implements daq::dpm::Scheduler.
Definition at line 96 of file scheduler.cpp.
|
overridevirtual |
Start/stop operations.
This assumes the implementation has an internal scheduler that it uses.
Implements daq::dpm::Scheduler.
Definition at line 87 of file scheduler.cpp.
|
overridevirtual |
Implements daq::dpm::Scheduler.
Definition at line 92 of file scheduler.cpp.