Macro nb::block [] [src]

macro_rules! block {
    ($e:expr) => { ... };
}

Turns the non-blocking expression $e into a blocking operation.

This is accomplished by continuously calling the expression $e until it no longer returns Error::WouldBlock

Input

An expression $e that evaluates to nb::Result<T, E>

Output

  • Ok(t) if $e evaluates to Ok(t)
  • Err(e) if $e evaluates to Err(nb::Error::Other(e))