pub struct WorkloadComponent { /* private fields */ }Expand description
A WorkloadComponent is a component that is part of a workload.
It contains the actual Component that can be instantiated,
the Linker for creating stores and instances, the available
VolumeMounts to be passed as filesystem preopens, and the
full list of HostPlugins that the component depends on.
Implementations§
Source§impl WorkloadComponent
impl WorkloadComponent
Sourcepub fn new(
workload_id: impl Into<Arc<str>>,
workload_name: impl Into<Arc<str>>,
workload_namespace: impl Into<Arc<str>>,
component: Component,
linker: Linker<Ctx>,
volume_mounts: Vec<(PathBuf, VolumeMount)>,
local_resources: LocalResources,
) -> Self
pub fn new( workload_id: impl Into<Arc<str>>, workload_name: impl Into<Arc<str>>, workload_namespace: impl Into<Arc<str>>, component: Component, linker: Linker<Ctx>, volume_mounts: Vec<(PathBuf, VolumeMount)>, local_resources: LocalResources, ) -> Self
Create a new WorkloadComponent with the given workload ID,
wasmtime Component, Linker, volume mounts, and instance limits.
Sourcepub fn pre_instantiate(&mut self) -> Result<InstancePre<Ctx>>
pub fn pre_instantiate(&mut self) -> Result<InstancePre<Ctx>>
Pre-instantiate the component to prepare for instantiation.
Methods from Deref<Target = WorkloadMetadata>§
Sourcepub fn workload_id(&self) -> &str
pub fn workload_id(&self) -> &str
Returns the ID of the workload this component belongs to.
Sourcepub fn workload_name(&self) -> &str
pub fn workload_name(&self) -> &str
Returns the name of the workload this component belongs to.
Sourcepub fn workload_namespace(&self) -> &str
pub fn workload_namespace(&self) -> &str
Returns the namespace of the workload this component belongs to.
Sourcepub fn engine(&self) -> &Engine
pub fn engine(&self) -> &Engine
Returns a reference to the wasmtime engine used to compile this component.
Sourcepub fn linker(&mut self) -> &mut Linker<Ctx>
pub fn linker(&mut self) -> &mut Linker<Ctx>
Returns a mutable reference to the component’s linker.
Sourcepub fn local_resources(&self) -> &LocalResources
pub fn local_resources(&self) -> &LocalResources
Returns a reference to component local resources.
Sourcepub fn plugins(
&self,
) -> &Option<HashMap<&'static str, Arc<dyn HostPlugin + Send + Sync>>>
pub fn plugins( &self, ) -> &Option<HashMap<&'static str, Arc<dyn HostPlugin + Send + Sync>>>
Returns a reference to the plugins associated with this component.
Sourcepub fn add_plugin(
&mut self,
id: &'static str,
plugin: Arc<dyn HostPlugin + Send + Sync>,
)
pub fn add_plugin( &mut self, id: &'static str, plugin: Arc<dyn HostPlugin + Send + Sync>, )
Adds a HostPlugin to the component.
Sourcepub fn with_plugins(
&mut self,
plugins: HashMap<&'static str, Arc<dyn HostPlugin + Send + Sync>>,
)
pub fn with_plugins( &mut self, plugins: HashMap<&'static str, Arc<dyn HostPlugin + Send + Sync>>, )
Replaces all plugins for this component with the provided set.
Sourcepub fn component_exports(&self) -> Result<Vec<(String, ComponentItem)>>
pub fn component_exports(&self) -> Result<Vec<(String, ComponentItem)>>
Extracts the ComponentItem::ComponentInstances that the component exports.
Trait Implementations§
Source§impl Clone for WorkloadComponent
impl Clone for WorkloadComponent
Source§fn clone(&self) -> WorkloadComponent
fn clone(&self) -> WorkloadComponent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WorkloadComponent
impl Debug for WorkloadComponent
Source§impl Deref for WorkloadComponent
impl Deref for WorkloadComponent
Auto Trait Implementations§
impl !RefUnwindSafe for WorkloadComponent
impl !UnwindSafe for WorkloadComponent
impl Freeze for WorkloadComponent
impl Send for WorkloadComponent
impl Sync for WorkloadComponent
impl Unpin for WorkloadComponent
impl UnsafeUnpin for WorkloadComponent
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
self file descriptor. Read moreSource§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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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