Documentation ¶
Overview ¶
Package poll represents the imported interface "wasi:io/poll@0.2.1".
A poll API intended to let users wait for I/O events on multiple handles at once.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Poll ¶
Poll represents the imported function "poll".
Poll for completion on a set of pollables.
This function takes a list of pollables, which identify I/O sources of interest, and waits until one or more of the events is ready for I/O.
The result `list<u32>` contains one or more indices of handles in the argument list that is ready for I/O.
This function traps if either: - the list is empty, or: - the list contains more elements than can be indexed with a `u32` value.
A timeout can be implemented by adding a pollable from the wasi-clocks API to the list.
This function does not return a `result`; polling in itself does not do any I/O so it doesn't fail. If any of the I/O sources identified by the pollables has an error, it is indicated by marking the source as being ready for I/O.
poll: func(in: list<borrow<pollable>>) -> list<u32>
Types ¶
type Pollable ¶
Pollable represents the imported resource "wasi:io/poll@0.2.1#pollable".
`pollable` represents a single I/O event which may be ready, or not.
resource pollable
func (Pollable) Block ¶
func (self Pollable) Block()
Block represents the imported method "block".
`block` returns immediately if the pollable is ready, and otherwise blocks until ready.
This function is equivalent to calling `poll.poll` on a list containing only this pollable.
block: func()
func (Pollable) Ready ¶
Ready represents the imported method "ready".
Return the readiness of a pollable. This function never blocks.
Returns `true` when the pollable is ready, and `false` otherwise.
ready: func() -> bool
func (Pollable) ResourceDrop ¶
func (self Pollable) ResourceDrop()
ResourceDrop represents the imported resource-drop for resource "pollable".
Drops a resource handle.