Trait linera_witty::RuntimeMemory

source ·
pub trait RuntimeMemory<Instance> {
    // Required methods
    fn read<'instance>(
        &self,
        instance: &'instance Instance,
        location: GuestPointer,
        length: u32,
    ) -> Result<Cow<'instance, [u8]>, RuntimeError>;
    fn write(
        &mut self,
        instance: &mut Instance,
        location: GuestPointer,
        bytes: &[u8],
    ) -> Result<(), RuntimeError>;
}
Expand description

Interface for accessing a runtime specific memory.

Required Methods§

source

fn read<'instance>( &self, instance: &'instance Instance, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>

Reads length bytes from memory from the provided location.

source

fn write( &mut self, instance: &mut Instance, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>

Writes the bytes to memory at the provided location.

Implementations on Foreign Types§

source§

impl<UserData> RuntimeMemory<MockInstance<UserData>> for Arc<Mutex<Vec<u8>>>

source§

fn read<'instance>( &self, instance: &'instance MockInstance<UserData>, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>

source§

fn write( &mut self, instance: &mut MockInstance<UserData>, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>

source§

impl<UserData> RuntimeMemory<Caller<'_, UserData>> for Memory

source§

fn read<'instance>( &self, instance: &'instance ReentrantInstance<'_, UserData>, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>

source§

fn write( &mut self, instance: &mut ReentrantInstance<'_, UserData>, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>

source§

impl<UserData> RuntimeMemory<EntrypointInstance<UserData>> for Memory

source§

fn read<'instance>( &self, instance: &'instance EntrypointInstance<UserData>, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>

source§

fn write( &mut self, instance: &mut EntrypointInstance<UserData>, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>

source§

impl<UserData: 'static> RuntimeMemory<EntrypointInstance<UserData>> for Memory

source§

fn read<'instance>( &self, instance: &'instance EntrypointInstance<UserData>, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>

source§

fn write( &mut self, instance: &mut EntrypointInstance<UserData>, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>

source§

impl<UserData: 'static> RuntimeMemory<FunctionEnvMut<'_, Environment<UserData>>> for Memory

source§

fn read<'instance>( &self, instance: &'instance ReentrantInstance<'_, UserData>, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>

source§

fn write( &mut self, instance: &mut ReentrantInstance<'_, UserData>, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>

Implementors§

source§

impl<M, I> RuntimeMemory<&mut I> for M
where M: RuntimeMemory<I>,