module Muthr_retry: sig
.. end
Retry combinators
exception Failed
To be raised by an operation that definitely fails (don't want to
be retried)
val retry : int ->
(('a option -> Muthr.t) -> Muthr.t) ->
(unit -> Muthr.t) -> ('a -> Muthr.t) -> Muthr.t
retry n c kfail k
retries c
at most n
times. c
must pass
its continuation Some r
for result r
, None
for temporary
failure, or raise Failed
for definitive failure.
Very experimental operations
val retryex : exn ->
int -> (('a option -> Muthr.t) -> Muthr.t) -> ('a -> Muthr.t) -> Muthr.t
val retry_forever : (('a option -> Muthr.t) -> Muthr.t) ->
(unit -> Muthr.t) -> ('a -> Muthr.t) -> Muthr.t
val retry_tm : float ->
(('a option -> Muthr.t) -> Muthr.t) ->
(unit -> Muthr.t) -> ('a -> Muthr.t) -> Muthr.t
val retry_n_tm : int ->
float ->
(('a -> Muthr.t) -> Muthr.t) ->
(unit -> Muthr.t) -> ('a -> Muthr.t) -> Muthr.t
val retry_n_tm_backoff : int ->
float ->
float ->
(('a -> Muthr.t) -> Muthr.t) ->
(unit -> Muthr.t) -> ('a -> Muthr.t) -> Muthr.t
val retry_list : 'a list ->
('a -> ('b option -> Muthr.t) -> Muthr.t) ->
(unit -> Muthr.t) -> ('b -> Muthr.t) -> Muthr.t
retry_list l c kfail k
retries c
with each each value in l
.
val retry_list_tm : 'a list ->
float ->
('a -> ('b option -> Muthr.t) -> Muthr.t) ->
(unit -> Muthr.t) -> ('b -> Muthr.t) -> Muthr.t
Retry for a list, with a tm
timeout each time