pub trait Loader {
fn load_app<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<LockedApp>> + Send + 'async_trait>>
where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn load_module<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
engine: &'life1 Engine,
source: &'life2 LockedComponentSource
) -> Pin<Box<dyn Future<Output = Result<Module>> + Send + 'async_trait>>
where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn mount_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
store_builder: &'life1 mut StoreBuilder,
component: &'life2 AppComponent<'_>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}
Expand description
A trait for implementing the low-level operations needed to load an App
.
Required Methods§
sourcefn load_app<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<LockedApp>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn load_app<'life0, 'life1, 'async_trait>(
&'life0 self,
uri: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<LockedApp>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called with an implementation-defined uri
pointing to some
representation of a LockedApp
, which will be loaded.
sourcefn load_module<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
engine: &'life1 Engine,
source: &'life2 LockedComponentSource
) -> Pin<Box<dyn Future<Output = Result<Module>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn load_module<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
engine: &'life1 Engine,
source: &'life2 LockedComponentSource
) -> Pin<Box<dyn Future<Output = Result<Module>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called with a LockedComponentSource
pointing to a Wasm module
binary, which will be loaded.
sourcefn mount_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
store_builder: &'life1 mut StoreBuilder,
component: &'life2 AppComponent<'_>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn mount_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
store_builder: &'life1 mut StoreBuilder,
component: &'life2 AppComponent<'_>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called with an AppComponent
; any files
configured with the
component should be “mounted” into the store_builder
, via e.g.
StoreBuilder::read_only_preopened_dir
.