pub struct Buffer { /* private fields */ }Expand description
The Buffer struct provides mutable CPU storage for binding structured host data to a VM invocation.
Implementations§
Source§impl Buffer
impl Buffer
pub fn new(layout: BufferLayout) -> Self
pub fn layout(&self) -> &BufferLayout
pub fn bytes(&self) -> &[u8] ⓘ
Sourcepub fn read(&self, member_name: &str) -> Result<Value, VmError>
pub fn read(&self, member_name: &str) -> Result<Value, VmError>
Reads a VM value from the buffer layout by member name.
Sourcepub fn read_indexed(
&self,
member_name: &str,
index: usize,
) -> Result<Value, VmError>
pub fn read_indexed( &self, member_name: &str, index: usize, ) -> Result<Value, VmError>
Reads one array element from a VM buffer member.
Sourcepub fn read_field(
&self,
member_name: &str,
field_name: &str,
) -> Result<Value, VmError>
pub fn read_field( &self, member_name: &str, field_name: &str, ) -> Result<Value, VmError>
Reads one field from a struct-valued VM buffer member.
Sourcepub fn read_indexed_field(
&self,
member_name: &str,
index: usize,
field_name: &str,
) -> Result<Value, VmError>
pub fn read_indexed_field( &self, member_name: &str, index: usize, field_name: &str, ) -> Result<Value, VmError>
Reads one field from a struct array element in a VM buffer member.
Sourcepub fn write(&mut self, member_name: &str, value: Value) -> Result<(), VmError>
pub fn write(&mut self, member_name: &str, value: Value) -> Result<(), VmError>
Writes a VM value into the buffer layout by member name.
Sourcepub fn write_indexed(
&mut self,
member_name: &str,
index: usize,
value: Value,
) -> Result<(), VmError>
pub fn write_indexed( &mut self, member_name: &str, index: usize, value: Value, ) -> Result<(), VmError>
Writes one array element in a VM buffer member.
Sourcepub fn write_field(
&mut self,
member_name: &str,
field_name: &str,
value: Value,
) -> Result<(), VmError>
pub fn write_field( &mut self, member_name: &str, field_name: &str, value: Value, ) -> Result<(), VmError>
Writes one field in a struct-valued VM buffer member.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Buffer
impl RefUnwindSafe for Buffer
impl Send for Buffer
impl Sync for Buffer
impl Unpin for Buffer
impl UnsafeUnpin for Buffer
impl UnwindSafe for Buffer
Blanket Implementations§
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