Skip to main content

BundleEmbedder

Struct BundleEmbedder 

Source
pub struct BundleEmbedder { /* private fields */ }
Expand description

Production embedder: loads an application-owned bundle and executes it through the natively linked Traverse runtime.

Implementations§

Source§

impl BundleEmbedder

Source

pub fn init(config: EmbedderConfig) -> Result<Self, EmbedderError>

runtime.init: load, verify, and register the application bundle.

§Errors

Returns an EmbedderError with a stable code when the bundle path cannot be resolved, the bundle schema version is unsupported, the bundle fails validation or registration, or the WASM executor cannot initialize. Rejections are deterministic and never fall back to a sidecar (spec 068 NFR-001).

Source

pub fn inject_data_store(&mut self, store: HostDataStore)

Explicitly injects a host-owned DataStore.

This additive host surface is deliberately separate from capability execution. It accepts neither a root path nor a capability identity, so the runtime cannot derive storage locations or grant capability code direct access.

Source

pub fn data_store_read( &mut self, key: &str, ) -> Result<Option<StateRecord>, EmbeddedDataStoreError>

Reads one host-owned state record from the injected DataStore.

Returns None when the injected store has no record for key.

§Errors

Returns a safe typed failure when no store was injected or its read operation fails.

Source

pub fn data_store_write( &mut self, record: StateRecord, ) -> Result<(), EmbeddedDataStoreError>

Writes one host-owned state record to the injected DataStore.

§Errors

Returns a safe typed failure when no store was injected or its write operation fails.

Source

pub fn data_store_delete( &mut self, key: &str, ) -> Result<(), EmbeddedDataStoreError>

Deletes one host-owned state record from the injected DataStore.

§Errors

Returns a safe typed failure when no store was injected or its delete operation fails.

Trait Implementations§

Source§

impl EmbeddedTraceApi for BundleEmbedder

Source§

fn embedded_trace_api_version(&self) -> &'static str

Returns the companion API version advertised by this host.
Source§

fn trace_list( &self, requested_version: &str, page_size: usize, cursor: Option<&str>, ) -> Result<EmbeddedTracePage, EmbeddedTraceApiError>

trace.list: returns a deterministic page of safe local summaries. Read more
Source§

fn trace_get( &self, requested_version: &str, trace_id: &str, ) -> Result<EmbeddedTraceDetail, EmbeddedTraceApiError>

trace.get: returns one safe retained local trace detail. Read more
Source§

impl TraverseEmbedderApi for BundleEmbedder

Source§

fn submit(&mut self, target_id: &str, input: &Value) -> SubmitOutcome

runtime.submit: execute a bundled workflow or WASM capability.
Source§

fn subscribe(&mut self, callback: EventCallback)

runtime.subscribe: register an ordered event callback. Previously emitted events are replayed to the new subscriber first, so late subscribers observe the identical ordered stream.
Source§

fn start_compatible( &mut self, capability_id: &str, input: &Value, ) -> CompatibleStartOutcome

compatible.start: start a compatible-mode capability instance.
Source§

fn stop_compatible( &mut self, capability_id: &str, instance_id: Option<&str>, ) -> CompatibleLifecycleOutcome

compatible.stop: gracefully stop one instance (instance_id) or every running instance of the capability (None).
Source§

fn kill_compatible( &mut self, capability_id: &str, instance_id: Option<&str>, ) -> CompatibleLifecycleOutcome

compatible.kill: force-terminate one instance (instance_id) or every running instance of the capability (None).
Source§

fn shutdown(&mut self) -> ShutdownOutcome

runtime.shutdown: kill running compatible instances and stop accepting operations. Idempotent.
Source§

fn release_evidence(&self) -> Value

Release evidence connecting this embedder to its package version, linked runtime, conformance version, and bundle digests (spec 068 FR-008, NFR-002).

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> GetSetFdFlags for T

Source§

fn get_fd_flags(&self) -> Result<FdFlags, Error>
where T: AsFilelike,

Query the “status” flags for the self file descriptor.
Source§

fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>
where T: AsFilelike,

Create a new SetFdFlags value for use with set_fd_flags. Read more
Source§

fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>
where T: Sized + AsFilelike,

Set the “status” flags for the self file descriptor. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Pointee for T

Source§

type Pointer = u32

Source§

fn debug( pointer: <T as Pointee>::Pointer, f: &mut Formatter<'_>, ) -> Result<(), Error>

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more