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).
Sourcepub fn dequeue_next(&mut self) -> Option<(InputId, Input)>
pub fn dequeue_next(&mut self) -> Option<(InputId, Input)>
Dequeue next input (delegates to inner).
Sourcepub fn dequeue_by_id(&mut self, input_id: &InputId) -> Option<(InputId, Input)>
pub fn dequeue_by_id(&mut self, input_id: &InputId) -> Option<(InputId, Input)>
Dequeue a specific input by ID (delegates to inner).
pub fn has_queued_input_outside(&self, excluded: &[InputId]) -> bool
Sourcepub fn stage_input(
&mut self,
input_id: &InputId,
run_id: &RunId,
) -> Result<(), RuntimeDriverError>
pub fn stage_input( &mut self, input_id: &InputId, run_id: &RunId, ) -> Result<(), RuntimeDriverError>
Stage input (delegates to inner).
Sourcepub fn stage_batch(
&mut self,
input_ids: &[InputId],
run_id: &RunId,
) -> Result<(), RuntimeDriverError>
pub fn stage_batch( &mut self, input_ids: &[InputId], run_id: &RunId, ) -> Result<(), RuntimeDriverError>
Stage a batch of inputs atomically (delegates to inner).
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).