pub struct SqliteRuntimeStore { /* private fields */ }Expand description
SQLite-backed application state for an embedded Vifu runtime.
The database contains portable releases, session state, local provider references, and a bounded trace upload queue. Credentials remain the host’s responsibility and should be represented by Keychain or credential-store references rather than copied into a release manifest.
Implementations§
Source§impl SqliteRuntimeStore
impl SqliteRuntimeStore
pub fn open(path: impl AsRef<Path>) -> Result<Self, RuntimeError>
pub fn in_memory() -> Result<Self, RuntimeError>
Sourcepub fn load_host_state(
&self,
namespace: &str,
state_key: &str,
) -> Result<Option<Value>, RuntimeError>
pub fn load_host_state( &self, namespace: &str, state_key: &str, ) -> Result<Option<Value>, RuntimeError>
Loads host-owned local state kept beside the runtime database.
This is intended for adapters such as Agent Gateway. Portable runtime releases must not depend on these records.
Sourcepub fn save_host_state(
&self,
namespace: &str,
state_key: &str,
value: &Value,
) -> Result<(), RuntimeError>
pub fn save_host_state( &self, namespace: &str, state_key: &str, value: &Value, ) -> Result<(), RuntimeError>
Saves bounded host-owned local state atomically.
Trait Implementations§
Source§impl RuntimeStore for SqliteRuntimeStore
impl RuntimeStore for SqliteRuntimeStore
fn load( &self, project_id: &str, session_id: &str, ) -> Result<Option<RuntimeSnapshot>, RuntimeError>
fn save( &self, project_id: &str, session_id: &str, snapshot: &RuntimeSnapshot, ) -> Result<(), RuntimeError>
fn save_release(&self, release: &RuntimeRelease) -> Result<(), RuntimeError>
fn load_release( &self, project_id: &str, version: u64, ) -> Result<Option<RuntimeRelease>, RuntimeError>
fn list_releases( &self, project_id: &str, ) -> Result<Vec<RuntimeRelease>, RuntimeError>
fn active_release(&self, project_id: &str) -> Result<Option<u64>, RuntimeError>
fn set_active_release( &self, project_id: &str, version: u64, ) -> Result<(), RuntimeError>
fn save_local_provider_binding( &self, project_id: &str, binding: &LocalProviderBinding, ) -> Result<(), RuntimeError>
fn local_provider_bindings( &self, project_id: &str, ) -> Result<Vec<LocalProviderBinding>, RuntimeError>
fn enqueue_trace(&self, trace: &RuntimeTraceRecord) -> Result<(), RuntimeError>
fn pending_traces( &self, limit: usize, ) -> Result<Vec<RuntimeTraceRecord>, RuntimeError>
fn acknowledge_traces(&self, trace_ids: &[String]) -> Result<(), RuntimeError>
Auto Trait Implementations§
impl !Freeze for SqliteRuntimeStore
impl RefUnwindSafe for SqliteRuntimeStore
impl Send for SqliteRuntimeStore
impl Sync for SqliteRuntimeStore
impl Unpin for SqliteRuntimeStore
impl UnsafeUnpin for SqliteRuntimeStore
impl UnwindSafe for SqliteRuntimeStore
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.