pub trait Host: Send + HostPollable {
// Required method
fn poll<'life0, 'async_trait>(
&'life0 mut self,
in_: Vec<Resource<Pollable>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<u32>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
}
Required Methods§
Sourcefn poll<'life0, 'async_trait>(
&'life0 mut self,
in_: Vec<Resource<Pollable>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<u32>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn poll<'life0, 'async_trait>(
&'life0 mut self,
in_: Vec<Resource<Pollable>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<u32>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
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.
Implementations on Foreign Types§
Source§impl<_T> Host for &mut _T
impl<_T> Host for &mut _T
Source§fn poll<'life0, 'async_trait>(
&'life0 mut self,
in_: Vec<Resource<Pollable>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<u32>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
&mut _T: 'async_trait,
fn poll<'life0, 'async_trait>(
&'life0 mut self,
in_: Vec<Resource<Pollable>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<u32>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
&mut _T: 'async_trait,
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.