[−][src]Function retry_fn::retry_immediate
pub fn retry_immediate<F, T, E>(f: F) -> Result<T, RetryErr<E>> where
F: FnMut(RetryOp) -> RetryResult<T, E>,
retry with the 'immediate' strategy, i.e. no wait in between attempts
use retry_fn::{retry_immediate, RetryResult}; let mut count = 0; let res = retry_immediate(|op| { if op.retries >= 3 { RetryResult::<&str, _>::Err(io::Error::new( io::ErrorKind::TimedOut, "timed out", )) } else { count += 1; RetryResult::Retry() } }); assert_eq!(count, 3); assert!(res.is_err()); Ok(())
Returns
If successful, return Ok
, otherwise return Retry
to try again or Err
to exit with an error