ganeti

Safe HaskellSafe-Infered

Ganeti.Utils.MonadPlus

Description

Utility functions for MonadPlus operations

Synopsis

Documentation

mretryN :: MonadPlus m => Int -> (Int -> m a) -> m aSource

Retries the given action up to n times. The action signals failure by mzero.

retryMaybeN :: Monad m => Int -> (Int -> MaybeT m a) -> m (Maybe a)Source

Retries the given action up to n times. The action signals failure by mzero.

retryErrorN :: MonadError e m => Int -> (Int -> m a) -> m aSource

Retries the given action up to n times until it succeeds. If all actions fail, the error of the last one is returned. The action is always run at least once, even if n is less than 1.