Trait linera_witty::Instance
source · pub trait Instance: Sized {
type Runtime: Runtime;
type UserData;
type UserDataReference<'a>: Deref<Target = Self::UserData>
where Self::UserData: 'a,
Self: 'a;
type UserDataMutReference<'a>: DerefMut<Target = Self::UserData>
where Self::UserData: 'a,
Self: 'a;
// Required methods
fn load_export(
&mut self,
name: &str,
) -> Option<<Self::Runtime as Runtime>::Export>;
fn user_data(&self) -> Self::UserDataReference<'_>;
fn user_data_mut(&mut self) -> Self::UserDataMutReference<'_>;
}
Expand description
An active guest Wasm module.
Required Associated Types§
sourcetype UserDataReference<'a>: Deref<Target = Self::UserData>
where
Self::UserData: 'a,
Self: 'a
type UserDataReference<'a>: Deref<Target = Self::UserData> where Self::UserData: 'a, Self: 'a
A reference to the custom user data stored in the instance.
sourcetype UserDataMutReference<'a>: DerefMut<Target = Self::UserData>
where
Self::UserData: 'a,
Self: 'a
type UserDataMutReference<'a>: DerefMut<Target = Self::UserData> where Self::UserData: 'a, Self: 'a
A mutable reference to the custom user data stored in the instance.
Required Methods§
sourcefn load_export(
&mut self,
name: &str,
) -> Option<<Self::Runtime as Runtime>::Export>
fn load_export( &mut self, name: &str, ) -> Option<<Self::Runtime as Runtime>::Export>
Loads an export from the guest module.
sourcefn user_data(&self) -> Self::UserDataReference<'_>
fn user_data(&self) -> Self::UserDataReference<'_>
Returns a reference to the custom user data stored in this instance.
sourcefn user_data_mut(&mut self) -> Self::UserDataMutReference<'_>
fn user_data_mut(&mut self) -> Self::UserDataMutReference<'_>
Returns a mutable reference to the custom user data stored in this instance.
Object Safety§
This trait is not object safe.