wasm_encoder

Struct CanonicalFunctionSection

Source
pub struct CanonicalFunctionSection { /* private fields */ }
Available on crate feature component-model only.
Expand description

An encoder for the canonical function section of WebAssembly components.

§Example

use wasm_encoder::{Component, CanonicalFunctionSection, CanonicalOption};

let mut functions = CanonicalFunctionSection::new();
functions.lift(0, 0, [CanonicalOption::UTF8]);

let mut component = Component::new();
component.section(&functions);

let bytes = component.finish();

Implementations§

Source§

impl CanonicalFunctionSection

Source

pub fn new() -> Self

Construct a new component function section encoder.

Source

pub fn len(&self) -> u32

The number of functions in the section.

Source

pub fn is_empty(&self) -> bool

Determines if the section is empty.

Source

pub fn lift<O>( &mut self, core_func_index: u32, type_index: u32, options: O, ) -> &mut Self

Define a function that will lift a core WebAssembly function to the canonical ABI.

Source

pub fn lower<O>(&mut self, func_index: u32, options: O) -> &mut Self

Define a function that will lower a canonical ABI function to a core WebAssembly function.

Source

pub fn resource_new(&mut self, ty_index: u32) -> &mut Self

Defines a function which will create an owned handle to the resource specified by ty_index.

Source

pub fn resource_drop(&mut self, ty_index: u32) -> &mut Self

Defines a function which will drop the specified type of handle.

Source

pub fn resource_rep(&mut self, ty_index: u32) -> &mut Self

Defines a function which will return the representation of the specified resource type.

Source

pub fn thread_spawn(&mut self, ty_index: u32) -> &mut Self

Defines a function which will spawns a new thread by invoking a shared function of type ty_index.

Source

pub fn thread_hw_concurrency(&mut self) -> &mut Self

Defines a function which will return the number of threads that can be expected to execute concurrently.

Source

pub fn task_backpressure(&mut self) -> &mut Self

Defines a function which tells the host to enable or disable backpressure for the caller’s instance. When backpressure is enabled, the host must not start any new calls to that instance until backpressure is disabled.

Source

pub fn task_return(&mut self, ty: u32) -> &mut Self

Defines a function which returns a result to the caller of a lifted export function. This allows the callee to continue executing after returning a result.

Source

pub fn task_wait(&mut self, async_: bool, memory: u32) -> &mut Self

Defines a function which waits for at least one outstanding async task/stream/future to make progress, returning the first such event.

If async_ is true, the caller instance may be reentered.

Source

pub fn task_poll(&mut self, async_: bool, memory: u32) -> &mut Self

Defines a function which checks whether any outstanding async task/stream/future has made progress. Unlike task.wait, this does not block and may return nothing if no such event has occurred.

If async_ is true, the caller instance may be reentered.

Source

pub fn task_yield(&mut self, async_: bool) -> &mut Self

Defines a function which yields control to the host so that other tasks are able to make progress, if any.

If async_ is true, the caller instance may be reentered.

Source

pub fn subtask_drop(&mut self) -> &mut Self

Defines a function to drop a specified task which has completed.

Source

pub fn stream_new(&mut self, ty: u32) -> &mut Self

Defines a function to create a new stream handle of the specified type.

Source

pub fn stream_read<O>(&mut self, ty: u32, options: O) -> &mut Self

Defines a function to read from a stream of the specified type.

Source

pub fn stream_write<O>(&mut self, ty: u32, options: O) -> &mut Self

Defines a function to write to a stream of the specified type.

Source

pub fn stream_cancel_read(&mut self, ty: u32, async_: bool) -> &mut Self

Defines a function to cancel an in-progress read from a stream of the specified type.

Source

pub fn stream_cancel_write(&mut self, ty: u32, async_: bool) -> &mut Self

Defines a function to cancel an in-progress write to a stream of the specified type.

Source

pub fn stream_close_readable(&mut self, ty: u32) -> &mut Self

Defines a function to close the readable end of a stream of the specified type.

Source

pub fn stream_close_writable(&mut self, ty: u32) -> &mut Self

Defines a function to close the writable end of a stream of the specified type.

Source

pub fn future_new(&mut self, ty: u32) -> &mut Self

Defines a function to create a new future handle of the specified type.

Source

pub fn future_read<O>(&mut self, ty: u32, options: O) -> &mut Self

Defines a function to read from a future of the specified type.

Source

pub fn future_write<O>(&mut self, ty: u32, options: O) -> &mut Self

Defines a function to write to a future of the specified type.

Source

pub fn future_cancel_read(&mut self, ty: u32, async_: bool) -> &mut Self

Defines a function to cancel an in-progress read from a future of the specified type.

Source

pub fn future_cancel_write(&mut self, ty: u32, async_: bool) -> &mut Self

Defines a function to cancel an in-progress write to a future of the specified type.

Source

pub fn future_close_readable(&mut self, ty: u32) -> &mut Self

Defines a function to close the readable end of a future of the specified type.

Source

pub fn future_close_writable(&mut self, ty: u32) -> &mut Self

Defines a function to close the writable end of a future of the specified type.

Source

pub fn error_context_new<O>(&mut self, options: O) -> &mut Self

Defines a function to create a new error-context with a specified debug message.

Source

pub fn error_context_debug_message<O>(&mut self, options: O) -> &mut Self

Defines a function to get the debug message for a specified error-context.

Note that the debug message might not necessarily match what was passed to error-context.new.

Source

pub fn error_context_drop(&mut self) -> &mut Self

Defines a function to drop a specified error-context.

Trait Implementations§

Source§

impl Clone for CanonicalFunctionSection

Source§

fn clone(&self) -> CanonicalFunctionSection

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl ComponentSection for CanonicalFunctionSection

Source§

fn id(&self) -> u8

Gets the section identifier for this section.
Source§

fn append_to_component(&self, dst: &mut Vec<u8>)

Appends this section to the specified destination list of bytes.
Source§

impl Debug for CanonicalFunctionSection

Source§

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

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

impl Default for CanonicalFunctionSection

Source§

fn default() -> CanonicalFunctionSection

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

impl Encode for CanonicalFunctionSection

Source§

fn encode(&self, sink: &mut Vec<u8>)

Encode the type into the given byte sink.

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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.