pub struct PluggableRuntime {
pub rt: Arc<dyn VirtualTaskManager>,
pub networking: DynVirtualNetworking,
pub http_client: Option<DynHttpClient>,
pub package_loader: Arc<dyn PackageLoader + Send + Sync>,
pub source: Arc<dyn Source + Send + Sync>,
pub engine: Option<Engine>,
pub module_cache: Arc<dyn ModuleCache + Send + Sync>,
pub tty: Option<Arc<dyn TtyBridge + Send + Sync>>,
pub journals: Vec<Arc<DynJournal>>,
}
Fields§
§rt: Arc<dyn VirtualTaskManager>
§networking: DynVirtualNetworking
§http_client: Option<DynHttpClient>
§package_loader: Arc<dyn PackageLoader + Send + Sync>
§source: Arc<dyn Source + Send + Sync>
§engine: Option<Engine>
§module_cache: Arc<dyn ModuleCache + Send + Sync>
§tty: Option<Arc<dyn TtyBridge + Send + Sync>>
§journals: Vec<Arc<DynJournal>>
Available on crate feature
journal
only.Implementations§
Source§impl PluggableRuntime
impl PluggableRuntime
pub fn new(rt: Arc<dyn VirtualTaskManager>) -> Self
pub fn set_networking_implementation<I>(&mut self, net: I) -> &mut Selfwhere
I: VirtualNetworking + Sync,
pub fn set_engine(&mut self, engine: Option<Engine>) -> &mut Self
pub fn set_tty(&mut self, tty: Arc<dyn TtyBridge + Send + Sync>) -> &mut Self
pub fn set_module_cache( &mut self, module_cache: impl ModuleCache + Send + Sync + 'static, ) -> &mut Self
pub fn set_source(&mut self, source: impl Source + Send + 'static) -> &mut Self
pub fn set_package_loader( &mut self, package_loader: impl PackageLoader + 'static, ) -> &mut Self
pub fn set_http_client( &mut self, client: impl HttpClient + Send + Sync + 'static, ) -> &mut Self
pub fn add_journal(&mut self, journal: Arc<DynJournal>) -> &mut Self
Available on crate feature
journal
only.Trait Implementations§
Source§impl Clone for PluggableRuntime
impl Clone for PluggableRuntime
Source§fn clone(&self) -> PluggableRuntime
fn clone(&self) -> PluggableRuntime
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for PluggableRuntime
impl Debug for PluggableRuntime
Source§impl Runtime for PluggableRuntime
impl Runtime for PluggableRuntime
Source§fn networking(&self) -> &DynVirtualNetworking
fn networking(&self) -> &DynVirtualNetworking
Provides access to all the networking related functions such as sockets.
Source§fn http_client(&self) -> Option<&DynHttpClient>
fn http_client(&self) -> Option<&DynHttpClient>
Get a custom HTTP client
Source§fn package_loader(&self) -> Arc<dyn PackageLoader + Send + Sync>
fn package_loader(&self) -> Arc<dyn PackageLoader + Send + Sync>
A package loader.
Source§fn engine(&self) -> Engine
fn engine(&self) -> Engine
Get a
wasmer::Engine
for module compilation.Source§fn new_store(&self) -> Store
fn new_store(&self) -> Store
Create a new
wasmer::Store
.Source§fn task_manager(&self) -> &Arc<dyn VirtualTaskManager>
fn task_manager(&self) -> &Arc<dyn VirtualTaskManager>
Retrieve the active
VirtualTaskManager
.Source§fn tty(&self) -> Option<&(dyn TtyBridge + Send + Sync)>
fn tty(&self) -> Option<&(dyn TtyBridge + Send + Sync)>
Get access to the TTY used by the environment.
Source§fn module_cache(&self) -> Arc<dyn ModuleCache + Send + Sync>
fn module_cache(&self) -> Arc<dyn ModuleCache + Send + Sync>
A cache for compiled modules.
Source§fn journals(&self) -> &Vec<Arc<DynJournal>>
fn journals(&self) -> &Vec<Arc<DynJournal>>
Available on crate feature
journal
only.The list of journals which will be used to restore the state of the
runtime at a particular point in time
Source§fn active_journal(&self) -> Option<&DynJournal>
fn active_journal(&self) -> Option<&DynJournal>
Available on crate feature
journal
only.The snapshot capturer takes and restores snapshots of the WASM process at specific
points in time by reading and writing log entries
Source§fn load_module<'a>(
&'a self,
wasm: &'a [u8],
) -> BoxFuture<'a, Result<Module, SpawnError>>
fn load_module<'a>( &'a self, wasm: &'a [u8], ) -> BoxFuture<'a, Result<Module, SpawnError>>
Load a a Webassembly module, trying to use a pre-compiled version if possible.
Source§fn load_module_sync(&self, wasm: &[u8]) -> Result<Module, SpawnError>
fn load_module_sync(&self, wasm: &[u8]) -> Result<Module, SpawnError>
Load a a Webassembly module, trying to use a pre-compiled version if possible. Read more
Source§fn on_taint(&self, _reason: TaintReason)
fn on_taint(&self, _reason: TaintReason)
Callback thats invokes whenever the instance is tainted, tainting can occur
for multiple reasons however the most common is a panic within the process
Auto Trait Implementations§
impl Freeze for PluggableRuntime
impl !RefUnwindSafe for PluggableRuntime
impl Send for PluggableRuntime
impl Sync for PluggableRuntime
impl Unpin for PluggableRuntime
impl !UnwindSafe for PluggableRuntime
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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> 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> ⓘ
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 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> ⓘ
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref