octomy::trove::TroveSupervisor
Assembles one project's Trove engine into a single running unit (§OR-1).
| Declared in | src/libs/libtrove/trove/TroveSupervisor.hpp |
| Inherits | QObject |
| Group | libtrove |
Detailed description
The constructor builds a BatchQueue, optionally durable through an IBatchStore (§BP), and a BatchDispatcher that runs the TroveSessionWorker. The worker starts sessions through a SessionManager and parks rate-limited jobs on the Scheduler, which resumes them after the reset (§OR-5). start() enables dispatch, the idle-session reaper and the scheduler tick; stop() halts all three and shuts every live session down.
TroveProjectManager creates one supervisor per project and holds it in a QSharedPointer. The class does not depend on a Node, so tests construct it headless. Operator work enters through enqueuePlan() and dispatchWorkUnit(); cancel(), intervene() and the other operator actions reach a running job through the SessionManager.