Struct spin_app::AppComponent

source ·
pub struct AppComponent<'a, L = AppLoader> {
    pub app: &'a App<'a, L>,
    /* private fields */
}
Expand description

An AppComponent holds configuration for a Spin application component.

Fields§

§app: &'a App<'a, L>

The app this component belongs to.

Implementations§

source§

impl<'a, L> AppComponent<'a, L>

source

pub fn id(&self) -> &str

Returns this component’s app-unique ID.

source

pub fn source(&self) -> &LockedComponentSource

Returns this component’s Wasm component or module source.

source

pub fn files(&self) -> Iter<'_, ContentPath>

Returns an iterator of ContentPaths for this component’s configured “directory mounts”.

source

pub fn get_metadata<T: Deserialize<'a>>( &self, key: MetadataKey<T> ) -> Result<Option<T>>

Deserializes typed metadata for this component.

Returns Ok(None) if there is no metadata for the given key and an Err only if there is a value for the key but the typed deserialization failed.

source

pub fn require_metadata<'this, T: Deserialize<'this>>( &'this self, key: MetadataKey<T> ) -> Result<T>

Deserializes typed metadata for this component.

Like AppComponent::get_metadata, but returns an error if there is no metadata for the given key.

source

pub fn config(&self) -> impl Iterator<Item = (&String, &String)>

Returns an iterator of custom config values for this component.

source§

impl<'a> AppComponent<'a>

source

pub async fn load_component<T: Send + Sync>( &self, engine: &Engine<T> ) -> Result<Component>

Loads and returns the [spin_core::Component] for this component.

source

pub async fn load_module<T: Send + Sync>( &self, engine: &Engine<T> ) -> Result<Module>

Loads and returns the [spin_core::Module] for this component.

source

pub async fn apply_store_config(&self, builder: &mut StoreBuilder) -> Result<()>

Updates the given StoreBuilder with configuration for this component.

In particular, the WASI ‘env’ and “preloaded dirs” are set up, and any DynamicHostComponents associated with the source AppLoader are configured.

Auto Trait Implementations§

§

impl<'a, L> RefUnwindSafe for AppComponent<'a, L>
where L: RefUnwindSafe,

§

impl<'a, L> Send for AppComponent<'a, L>
where L: Sync,

§

impl<'a, L> Sync for AppComponent<'a, L>
where L: Sync,

§

impl<'a, L> Unpin for AppComponent<'a, L>

§

impl<'a, L> UnwindSafe for AppComponent<'a, L>
where L: RefUnwindSafe,

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.

§

impl<T> GetSetFdFlags for T

§

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

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

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
§

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

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

impl<T> Instrument for T

§

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

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

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

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

Initializes a with the given initializer. Read more
§

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

Dereferences the given pointer. Read more
§

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

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

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

impl<T> Pointee for T

§

type Pointer = u32

§

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

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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