|
ifw-daq 3.1.0
IFW Data Acquisition modules
|
#include <scheduler.hpp>
Inheritance diagram for daq::dpm::SchedulerImpl: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. | |
Public Member Functions | |
| SchedulerImpl (rad::IoExecutor &executor, Workspace &workspace, DaqControllerFactory daq_controller_factory, SchedulerOptions const &options) | |
| Constructs a scheduler loading information from workspace ws. | |
| std::string | QueueDaq (std::string const &dp_spec, std::string const &status) override |
| Queues DAQ for processing. | |
| void | AbortDaq (std::string const &) override |
Abort merging DAQ identified by id. | |
| bool | IsQueued (std::string const &id) const noexcept override |
| Queries if DAQ with ID has been queued before in the current workspace. | |
| Status | GetDaqStatus (std::string const &id) const override |
| Queries current DAQ status, possibly from last recorded status in workspace. | |
| std::vector< std::string > | GetQueue () const noexcept override |
| Queries current DAQ queue. | |
| void | Start () override |
| Start/stop operations. | |
| void | Stop () override |
Signals. | |
| |
| boost::signals2::connection | ConnectStatus (StatusSignal::slot_type const &slot) override |
| Signals. | |
Public Member Functions inherited from daq::dpm::Scheduler | |
| virtual | ~Scheduler () |
| virtual void | Start ()=0 |
| Start/stop operations. | |
| virtual void | Stop ()=0 |
| virtual std::string | QueueDaq (std::string const &dp_spec, std::string const &status)=0 |
| Queues DAQ for processing. | |
| virtual void | AbortDaq (std::string const &id)=0 |
Abort merging DAQ identified by id. | |
| virtual bool | IsQueued (std::string const &id) const noexcept=0 |
| Queries if DAQ with ID has been queued before in the current workspace. | |
| virtual Status | GetDaqStatus (std::string const &id) const =0 |
| Queries current DAQ status, possibly from last recorded status in workspace. | |
| virtual std::vector< std::string > | GetQueue () const noexcept=0 |
| Queries current DAQ queue. | |
Definition at line 295 of file scheduler.hpp.
| using daq::dpm::SchedulerImpl::DaqControllerFactory = std::function<std::unique_ptr<DaqController>(std::unique_ptr<DaqWorkspace>, Resources&)> |
Definition at line 297 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 98 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 218 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 197 of file scheduler.cpp.
|
overridevirtualnoexcept |
Queries current DAQ queue.
Implements daq::dpm::Scheduler.
Definition at line 214 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 193 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. |
| status | JSON encoded daq::Status. May be an empty string in which case a default initial status will be used. |
| std::invalid_argument | if dp_spec is invalid or is already queued. |
Implements daq::dpm::Scheduler.
Definition at line 131 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 122 of file scheduler.cpp.
|
overridevirtual |
Implements daq::dpm::Scheduler.
Definition at line 127 of file scheduler.cpp.