Skip to main content

Outbox

Struct Outbox 

Source
#[repr(C)]
pub struct Outbox { pub emit: u32, pub bytes_ptr: u32, pub bytes_len: u32, pub bounds_ptr: u32, pub bounds_len: u32, pub flags: u32, pub message_ptr: u32, pub message_len: u32, pub pace_ns: u64, pub logs_ptr: u32, pub logs_len: u32, }
Expand description

What a call left behind for the host.

Fixed layout, little-endian, TOCAT_OUTBOX_LEN bytes. repr(C) rather than packed: wasm32 puts the u64 on an eight-byte boundary, which is where offset 32 already is, so there is no padding to remove and no unaligned field to read. The assertions below are what keep that true on every target this crate is built for, including the 64-bit host that reads the struct back out of guest memory.

Fields§

§emit: u32§bytes_ptr: u32§bytes_len: u32§bounds_ptr: u32§bounds_len: u32§flags: u32§message_ptr: u32§message_len: u32§pace_ns: u64§logs_ptr: u32§logs_len: u32

Implementations§

Source§

impl Outbox

Source

pub const fn new() -> Outbox

Source

pub fn reset(&mut self)

Clear it. The struct persists between calls, so a halt flag or a message pointer left over from an earlier chunk would be applied again.

Source

pub const fn emit(&self) -> Option<Emit>

Source

pub const fn set_emit(&mut self, emit: Emit)

Source

pub const fn has(&self, flag: u32) -> bool

Source

pub const fn set(&mut self, flag: u32)

Trait Implementations§

Source§

impl Clone for Outbox

Source§

fn clone(&self) -> Outbox

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Outbox

Source§

impl Debug for Outbox

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for Outbox

Source§

fn default() -> Outbox

Returns the “default value” for a type. Read more
Source§

impl Eq for Outbox

Source§

impl PartialEq for Outbox

Source§

fn eq(&self, other: &Outbox) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Outbox

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.