Struct mio_aio::LioCb [−][src]
pub struct LioCb<'a> { /* fields omitted */ }
Expand description
A collection of multiple asynchronous I/O operations
Implementations
Submit an LioCb
to the aio(4)
subsystem.
If the return value is LioError::EAGAIN
, then no operations were
enqueued due to system resource limitations. The application should
free up resources and try again. If the return value is
LioError::EINCOMPLETE
, then some operations were enqueued, but
others were not, due to system resource limitations. The application
should wait for notification that the enqueued operations are complete,
then resubmit the others with resubmit
. If the
return value is LioError::EIO
, then some operations have failed to
enqueue, and cannot be resubmitted. The application should wait for
notification that the enqueued operations are complete, then examine the
result of each operation to determine the problem.
Resubmit an LioCb
if it is incomplete.
If submit
returns LioError::EINCOMPLETE
, then some
operations may not have been submitted. This method will collect status
for any completed operations, then resubmit the others.
pub fn into_results<F, R>(self, callback: F) -> R where
F: FnOnce(Box<dyn Iterator<Item = LioResult> + 'a>) -> R,
pub fn into_results<F, R>(self, callback: F) -> R where
F: FnOnce(Box<dyn Iterator<Item = LioResult> + 'a>) -> R,
Consume an LioCb
and collect its operations’ results.
An iterator over all operations’ results will be supplied to the callback function.