Sha256: e8069d860b0e837a81f820ab13c700a90bd71da9e1f774bbfaeca31daf920371
Contents?: true
Size: 1.73 KB
Versions: 1
Compression:
Stored size: 1.73 KB
Contents
package wasi:io@0.2.3; /// A poll API intended to let users wait for I/O events on multiple handles /// at once. @since(version = 0.2.0) interface poll { /// `pollable` represents a single I/O event which may be ready, or not. @since(version = 0.2.0) resource pollable { /// Return the readiness of a pollable. This function never blocks. /// /// Returns `true` when the pollable is ready, and `false` otherwise. @since(version = 0.2.0) ready: func() -> bool; /// `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. @since(version = 0.2.0) block: func(); } /// 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. @since(version = 0.2.0) poll: func(in: list<borrow<pollable>>) -> list<u32>; }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wasmtime-29.0.0 | ./ext/cargo-vendor/wasmtime-wasi-29.0.0/wit/deps/io/poll.wit |