ifw-daq
3.0.0-pre2
IFW Data Acquisition modules
|
Schedules asynchronous activities that results in merged Data Product and delivery. More...
#include <scheduler.hpp>
Public Member Functions | |
virtual | ~Scheduler () |
virtual void | Start ()=0 |
Start/stop operations. More... | |
virtual void | Stop ()=0 |
virtual std::string | QueueDaq (std::string const &dp_spec)=0 |
Queues DAQ for processing. More... | |
virtual void | AbortDaq (std::string const &id)=0 |
Abort merging DAQ identified by id . More... | |
virtual bool | IsQueued (std::string const &id) const noexcept=0 |
Queries if DAQ with ID has been queued before in the current workspace. More... | |
virtual Status | GetDaqStatus (std::string const &id) const =0 |
Queries current DAQ status, possibly from last recorded status in workspace. More... | |
virtual std::vector< std::string > | GetQueue () const noexcept=0 |
Queries current DAQ queue. More... | |
using | StatusSignal = boost::signals2::signal< void(Status const &)> |
Signals. More... | |
virtual boost::signals2::connection | ConnectStatus (StatusSignal::slot_type const &slot)=0 |
Signals. More... | |
Schedules asynchronous activities that results in merged Data Product and delivery.
Internally it maintains a prioritized queue of DAQs that should be merged.
Main responsibilities:
Outside the scope of Scheduler:
TBD/notes:
<workspace>/queue.json
.queue.json
Definition at line 274 of file scheduler.hpp.
using daq::dpm::Scheduler::StatusSignal = boost::signals2::signal<void(Status const&)> |
Signals.
Definition at line 340 of file scheduler.hpp.
|
inlinevirtual |
Definition at line 276 of file scheduler.hpp.
|
pure virtual |
Abort merging DAQ identified by id
.
id | DAQ id. |
std::invalid_argument | if DAQ is unknown. |
Implemented in daq::dpm::SchedulerImpl.
|
pure virtual |
Signals.
Implemented in daq::dpm::SchedulerImpl.
|
pure virtual |
Queries current DAQ status, possibly from last recorded status in workspace.
id | DAQ id. |
std::invalid_argument | if DAQ is not known. |
Implemented in daq::dpm::SchedulerImpl.
|
pure virtualnoexcept |
Queries current DAQ queue.
Implemented in daq::dpm::SchedulerImpl.
|
pure virtualnoexcept |
Queries if DAQ with ID has been queued before in the current workspace.
id | DAQ id. |
std::invalid_argument | if DAQ is not known. |
Implemented in daq::dpm::SchedulerImpl.
|
pure virtual |
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. |
Implemented in daq::dpm::SchedulerImpl.
|
pure virtual |
Start/stop operations.
This assumes the implementation has an internal scheduler that it uses.
Implemented in daq::dpm::SchedulerImpl.
|
pure virtual |
Implemented in daq::dpm::SchedulerImpl.