pub struct PersistentRuntimeDriver { /* private fields */ }Expand description
Persistent runtime driver — durable InputState via RuntimeStore.
Implementations§
Source§impl PersistentRuntimeDriver
impl PersistentRuntimeDriver
Sourcepub fn new(
runtime_id: LogicalRuntimeId,
store: Arc<dyn RuntimeStore>,
blob_store: Arc<dyn BlobStore>,
) -> Self
pub fn new( runtime_id: LogicalRuntimeId, store: Arc<dyn RuntimeStore>, blob_store: Arc<dyn BlobStore>, ) -> Self
Create a new persistent runtime driver.
Sourcepub fn inner_ref(&self) -> &EphemeralRuntimeDriver
pub fn inner_ref(&self) -> &EphemeralRuntimeDriver
Get immutable reference to the inner ephemeral driver.
Sourcepub fn runtime_id(&self) -> &LogicalRuntimeId
pub fn runtime_id(&self) -> &LogicalRuntimeId
Get the logical runtime ID for this driver.
pub fn silent_comms_intents(&self) -> Vec<String>
Sourcepub fn drain_events(&mut self) -> Vec<RuntimeEventEnvelope>
pub fn drain_events(&mut self) -> Vec<RuntimeEventEnvelope>
Get pending events (delegates to inner).
Sourcepub fn take_post_admission_signal(&mut self) -> PostAdmissionSignal
pub fn take_post_admission_signal(&mut self) -> PostAdmissionSignal
Drain the typed post-admission signal (delegates to inner).
Sourcepub fn post_admission_signal(&self) -> PostAdmissionSignal
pub fn post_admission_signal(&self) -> PostAdmissionSignal
Inspect the current typed post-admission signal without draining it.
Sourcepub fn take_wake_requested(&mut self) -> bool
pub fn take_wake_requested(&mut self) -> bool
Check and clear wake flag (backward-compat, delegates to inner).
Sourcepub fn take_process_requested(&mut self) -> bool
pub fn take_process_requested(&mut self) -> bool
Check and clear immediate processing flag (backward-compat, delegates to inner).
pub fn has_queued_input_outside(&self, excluded: &[InputId]) -> bool
Sourcepub fn apply_input(
&mut self,
input_id: &InputId,
run_id: &RunId,
) -> Result<(), RuntimeDriverError>
pub fn apply_input( &mut self, input_id: &InputId, run_id: &RunId, ) -> Result<(), RuntimeDriverError>
Apply input (delegates to inner).
Sourcepub fn rollback_staged(
&mut self,
input_ids: &[InputId],
) -> Result<(), RuntimeDriverError>
pub fn rollback_staged( &mut self, input_ids: &[InputId], ) -> Result<(), RuntimeDriverError>
Roll back staged inputs (delegates to inner).
Trait Implementations§
Source§impl RuntimeDriver for PersistentRuntimeDriver
impl RuntimeDriver for PersistentRuntimeDriver
Source§fn accept_input<'life0, 'async_trait>(
&'life0 mut self,
input: Input,
) -> Pin<Box<dyn Future<Output = Result<AcceptOutcome, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn accept_input<'life0, 'async_trait>(
&'life0 mut self,
input: Input,
) -> Pin<Box<dyn Future<Output = Result<AcceptOutcome, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Accept an input into the runtime.
Source§fn on_runtime_event<'life0, 'async_trait>(
&'life0 mut self,
event: RuntimeEventEnvelope,
) -> Pin<Box<dyn Future<Output = Result<(), RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn on_runtime_event<'life0, 'async_trait>(
&'life0 mut self,
event: RuntimeEventEnvelope,
) -> Pin<Box<dyn Future<Output = Result<(), RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Handle a runtime event (from the event bus).
Source§fn recover<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<RecoveryReport, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn recover<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<RecoveryReport, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Recover from a crash/restart.
Source§fn runtime_state(&self) -> RuntimeState
fn runtime_state(&self) -> RuntimeState
Get the current runtime state.
Source§fn input_state(&self, input_id: &InputId) -> Option<&InputState>
fn input_state(&self, input_id: &InputId) -> Option<&InputState>
Get the state of a specific input.
Source§fn input_phase(&self, input_id: &InputId) -> Option<InputLifecycleState>
fn input_phase(&self, input_id: &InputId) -> Option<InputLifecycleState>
Get the current DSL-owned lifecycle phase of a specific input.
Source§fn input_last_run_id(&self, input_id: &InputId) -> Option<RunId>
fn input_last_run_id(&self, input_id: &InputId) -> Option<RunId>
Get the current DSL-owned last run association for a specific input.
Source§fn input_last_boundary_sequence(&self, input_id: &InputId) -> Option<u64>
fn input_last_boundary_sequence(&self, input_id: &InputId) -> Option<u64>
Get the current DSL-owned last boundary sequence for a specific input.
Source§fn stored_input_state(&self, input_id: &InputId) -> Option<StoredInputState>
fn stored_input_state(&self, input_id: &InputId) -> Option<StoredInputState>
Get the persisted shell+seed bundle for a specific input.
Source§fn active_input_ids(&self) -> Vec<InputId>
fn active_input_ids(&self) -> Vec<InputId>
List all non-terminal input IDs.
Auto Trait Implementations§
impl !RefUnwindSafe for PersistentRuntimeDriver
impl !UnwindSafe for PersistentRuntimeDriver
impl Freeze for PersistentRuntimeDriver
impl Send for PersistentRuntimeDriver
impl Sync for PersistentRuntimeDriver
impl Unpin for PersistentRuntimeDriver
impl UnsafeUnpin for PersistentRuntimeDriver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more