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,
}component-model only.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 ith slot of task-local storage.
ContextSet(u32)
A context.set intrinsic for the ith 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.Source§impl PartialEq for CanonicalFunction
impl PartialEq for CanonicalFunction
impl Eq for CanonicalFunction
impl StructuralPartialEq for CanonicalFunction
Auto Trait Implementations§
impl Freeze for CanonicalFunction
impl RefUnwindSafe for CanonicalFunction
impl Send for CanonicalFunction
impl Sync for CanonicalFunction
impl Unpin for CanonicalFunction
impl UnwindSafe for CanonicalFunction
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.