Module spin_sdk.wit.imports.poll
A poll API intended to let users wait for I/O events on multiple handles at once.
Functions
- def poll(in_: List[Pollable]) ‑> List[int]
- 
Expand source codedef poll(in_: List[Pollable]) -> List[int]: """ 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. If the list contains more elements than can be indexed with a `u32` value, this function traps. 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 reaedy for I/O. """ raise NotImplementedErrorPoll 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.If the list contains more elements than can be indexed with a u32value, this function traps.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 reaedy for I/O.
Classes
- class Pollable
- 
Expand source codeclass Pollable: """ `pollable` represents a single I/O event which may be ready, or not. """ def ready(self) -> bool: """ Return the readiness of a pollable. This function never blocks. Returns `true` when the pollable is ready, and `false` otherwise. """ raise NotImplementedError def block(self) -> None: """ `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. """ raise NotImplementedError def __enter__(self) -> Self: """Returns self""" return self def __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) -> bool | None: """ Release this resource. """ raise NotImplementedErrorpollablerepresents a single I/O event which may be ready, or not.Methods- def block(self) ‑> None
- 
Expand source codedef block(self) -> None: """ `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. """ raise NotImplementedErrorblockreturns immediately if the pollable is ready, and otherwise blocks until ready.This function is equivalent to calling poll.pollon a list containing only this pollable.
- def ready(self) ‑> bool
- 
Expand source codedef ready(self) -> bool: """ Return the readiness of a pollable. This function never blocks. Returns `true` when the pollable is ready, and `false` otherwise. """ raise NotImplementedErrorReturn the readiness of a pollable. This function never blocks. Returns truewhen the pollable is ready, andfalseotherwise.