|
| void | mqss::qrmci::installTerminationHandlers () |
| | Register SIGINT and SIGTERM handlers that set terminationRequested.
|
| std::expected< Config, Error > | mqss::qrmci::initializeDaemon () |
| | Bring a daemon process up: install the SIGINT/SIGTERM handlers, assemble the configuration, and make the daemon logger the process-wide default.
|
| std::expected< mqss::submitter::Device, Error > | mqss::qrmci::openConfiguredDevice (const SubmitterConfig &config) |
| | Open the QDMI device config names.
|
| std::expected< void, Error > | mqss::qrmci::registerOwnDevice (const mqss::submitter::Device &device, BackendRegistry &backends, std::string_view dispatchQueue="") |
| | Read this process's own device and register it, so the daemon has a backend to schedule onto before its work loop starts.
|
| std::optional< mqss::Backend > | mqss::qrmci::refreshOwnDeviceStatus (const mqss::submitter::Device &device, BackendRegistry &backends, PublicationThrottle &throttle, std::string_view dispatchQueue="") |
| | Re-read this process's own device and refresh its registry entry, if throttle has a publish slot due.
|
| void | mqss::qrmci::logRegisteredBackends (const BackendRegistry &backends) |
| | Log every registered backend and its capabilities at info level.
|
| std::expected< void, Error > | mqss::qrmci::selectCompileAndSchedule (mqss::QuantumTask &task, const BackendRegistry &backends, mqss::mqssci::MQSSCompiler &compiler, TaskScheduler &scheduler, BackendSelectionPolicy policy=BackendSelectionPolicy::LowestName) |
| | Select a backend for task, compile it for that backend, and hand it to scheduler.
|
| std::expected< void, Error > | mqss::qrmci::compileAndSchedule (mqss::QuantumTask &task, const BackendRegistry &backends, mqss::mqssci::MQSSCompiler &compiler, TaskScheduler &scheduler) |
| | Compile task for the backend it was already assigned and hand it to scheduler.
|
The scaffolding every QRM&CI daemon entrypoint shares: process bring-up, opening the configured QDMI device, and the compile-and-schedule stage.
Definition in file Daemon.h.
| std::optional< mqss::Backend > mqss::qrmci::refreshOwnDeviceStatus |
( |
const mqss::submitter::Device & | device, |
|
|
BackendRegistry & | backends, |
|
|
PublicationThrottle & | throttle, |
|
|
std::string_view | dispatchQueue = "" ) |
Re-read this process's own device and refresh its registry entry, if throttle has a publish slot due.
A device that cannot be read is a warning, not a fatal error: the entry's own time-to-live already governs how long a stale snapshot may stand, and a device that recovers is picked up on the next slot. Nothing is published from here either – a caller that publishes its status does so with the returned snapshot, so a failing device says nothing at all rather than announcing itself healthy.
- Parameters
-
| device | The device to re-read. |
| backends | The registry holding this process's own entry. |
| throttle | The throttle pacing this process's own publication slots. |
| dispatchQueue | The queue tasks assigned to this backend should be sent to, forwarded to BackendWrapper::fromSubmitter(). Left empty for a process that never publishes its own status. |
- Returns
- The refreshed status to publish, or nullopt if no slot was due or the device could not be read.