pub enum CanonicalFunction {
Show 37 variants
Lift {
core_func_index: u32,
type_index: u32,
options: Box<[CanonicalOption]>,
},
Lower {
func_index: u32,
options: Box<[CanonicalOption]>,
},
ResourceNew {
resource: u32,
},
ResourceDrop {
resource: u32,
},
ResourceDropAsync {
resource: u32,
},
ResourceRep {
resource: u32,
},
ThreadSpawnRef {
func_ty_index: u32,
},
ThreadSpawnIndirect {
func_ty_index: u32,
table_index: u32,
},
ThreadAvailableParallelism,
BackpressureSet,
TaskReturn {
result: Option<ComponentValType>,
options: Box<[CanonicalOption]>,
},
ContextGet(u32),
ContextSet(u32),
Yield {
async_: bool,
},
SubtaskDrop,
StreamNew {
ty: u32,
},
StreamRead {
ty: u32,
options: Box<[CanonicalOption]>,
},
StreamWrite {
ty: u32,
options: Box<[CanonicalOption]>,
},
StreamCancelRead {
ty: u32,
async_: bool,
},
StreamCancelWrite {
ty: u32,
async_: bool,
},
StreamCloseReadable {
ty: u32,
},
StreamCloseWritable {
ty: u32,
},
FutureNew {
ty: u32,
},
FutureRead {
ty: u32,
options: Box<[CanonicalOption]>,
},
FutureWrite {
ty: u32,
options: Box<[CanonicalOption]>,
},
FutureCancelRead {
ty: u32,
async_: bool,
},
FutureCancelWrite {
ty: u32,
async_: bool,
},
FutureCloseReadable {
ty: u32,
},
FutureCloseWritable {
ty: u32,
},
ErrorContextNew {
options: Box<[CanonicalOption]>,
},
ErrorContextDebugMessage {
options: Box<[CanonicalOption]>,
},
ErrorContextDrop,
WaitableSetNew,
WaitableSetWait {
async_: bool,
memory: u32,
},
WaitableSetPoll {
async_: bool,
memory: u32,
},
WaitableSetDrop,
WaitableJoin,
}
Expand description
Represents a canonical function in a WebAssembly component.
Variants§
Lift
The function lifts a core WebAssembly function to the canonical ABI.
Fields
options: Box<[CanonicalOption]>
The canonical options for the function.
Lower
The function lowers a canonical ABI function to a core WebAssembly function.
Fields
options: Box<[CanonicalOption]>
The canonical options for the function.
ResourceNew
A function which creates a new owned handle to a resource.
ResourceDrop
A function which is used to drop resource handles of the specified type.
ResourceDropAsync
Same as ResourceDrop
, but implements the async
ABI.
ResourceRep
A function which returns the underlying i32-based representation of the specified resource.
ThreadSpawnRef
A function which spawns a new thread by invoking the shared function.
ThreadSpawnIndirect
A function which spawns a new thread by invoking the shared function
passed as an index into a funcref
table.
Fields
ThreadAvailableParallelism
A function which returns the number of threads that can be expected to execute concurrently
BackpressureSet
A function which tells the host to enable or disable backpressure for the caller’s instance.
TaskReturn
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.
Fields
result: Option<ComponentValType>
The result type, if any.
options: Box<[CanonicalOption]>
The canonical options for the function.
ContextGet(u32)
A context.get
intrinsic for the i
th slot of task-local storage.
ContextSet(u32)
A context.set
intrinsic for the i
th slot of task-local storage.
Yield
A function which yields control to the host so that other tasks are able to make progress, if any.
SubtaskDrop
A function to drop a specified task which has completed.
StreamNew
A function to create a new stream
handle of the specified type.
StreamRead
A function to read from a stream
of the specified type.
Fields
options: Box<[CanonicalOption]>
Any options (e.g. string encoding) to use when storing values to memory.
StreamWrite
A function to write to a stream
of the specified type.
Fields
options: Box<[CanonicalOption]>
Any options (e.g. string encoding) to use when loading values from memory.
StreamCancelRead
A function to cancel an in-progress read from a stream
of the
specified type.
Fields
StreamCancelWrite
A function to cancel an in-progress write to a stream
of the specified
type.
Fields
StreamCloseReadable
A function to close the readable end of a stream
of the specified
type.
StreamCloseWritable
A function to close the writable end of a stream
of the specified
type.
FutureNew
A function to create a new future
handle of the specified type.
FutureRead
A function to read from a future
of the specified type.
Fields
options: Box<[CanonicalOption]>
Any options (e.g. string encoding) to use when storing values to memory.
FutureWrite
A function to write to a future
of the specified type.
Fields
options: Box<[CanonicalOption]>
Any options (e.g. string encoding) to use when loading values from memory.
FutureCancelRead
A function to cancel an in-progress read from a future
of the
specified type.
Fields
FutureCancelWrite
A function to cancel an in-progress write to a future
of the specified
type.
Fields
FutureCloseReadable
A function to close the readable end of a future
of the specified
type.
FutureCloseWritable
A function to close the writable end of a future
of the specified
type.
ErrorContextNew
A function to create a new error-context
with a specified debug
message.
Fields
options: Box<[CanonicalOption]>
String encoding, memory, etc. to use when loading debug message.
ErrorContextDebugMessage
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.new
.
Fields
options: Box<[CanonicalOption]>
String encoding, memory, etc. to use when storing debug message.
ErrorContextDrop
A function to drop a specified error-context
.
WaitableSetNew
A function to create a new waitable-set
.
WaitableSetWait
A function to block on the next item within a waitable-set
.
Fields
WaitableSetPoll
A function to check if any items are ready within a waitable-set
.
Fields
WaitableSetDrop
A function to drop a waitable-set
.
WaitableJoin
A function to add an item to a waitable-set
.
Trait Implementations§
Source§impl Clone for CanonicalFunction
impl Clone for CanonicalFunction
Source§fn clone(&self) -> CanonicalFunction
fn clone(&self) -> CanonicalFunction
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for CanonicalFunction
impl Debug for CanonicalFunction
Source§impl<'a> FromReader<'a> for CanonicalFunction
impl<'a> FromReader<'a> for CanonicalFunction
Source§fn from_reader(reader: &mut BinaryReader<'a>) -> Result<CanonicalFunction>
fn from_reader(reader: &mut BinaryReader<'a>) -> Result<CanonicalFunction>
Self
from the provided binary reader, returning an
error if it is unable to do so.