wasmer/entities/memory/buffer/
mod.rs1use std::{marker::PhantomData, mem::MaybeUninit};
2
3use crate::MemoryAccessError;
4
5pub(crate) mod inner;
6pub(crate) use inner::*;
7
8#[derive(Debug, Copy, Clone, derive_more::From)]
10pub(crate) struct MemoryBuffer<'a>(pub(crate) BackendMemoryBuffer<'a>);
11
12impl MemoryBuffer<'_> {
13 #[allow(unused)]
14 pub(crate) fn read(&self, offset: u64, buf: &mut [u8]) -> Result<(), MemoryAccessError> {
15 self.0.read(offset, buf)
16 }
17
18 #[allow(unused)]
19 pub(crate) fn read_uninit<'b>(
20 &self,
21 offset: u64,
22 buf: &'b mut [MaybeUninit<u8>],
23 ) -> Result<&'b mut [u8], MemoryAccessError> {
24 self.0.read_uninit(offset, buf)
25 }
26
27 #[allow(unused)]
28 pub(crate) fn write(&self, offset: u64, data: &[u8]) -> Result<(), MemoryAccessError> {
29 self.0.write(offset, data)
30 }
31
32 pub(crate) fn len(&self) -> usize {
33 self.0.len()
34 }
35
36 pub(crate) fn base(&self) -> *mut u8 {
37 self.0.base()
38 }
39
40 pub(crate) fn is_owned(&self) -> bool {
45 self.0.is_owned()
46 }
47}