internal RetryImpl(Action retry, Func <bool> isDonePredicate, IExceptionBehavior behavior, IWaitHandler waitHandler) : this(() => { retry(); return(isDonePredicate()); }, behavior, waitHandler) { }
internal RetryImpl(Action retry, IExceptionBehavior behavior, IWaitHandler waitHandler) : this(() => { retry(); return(true); }, behavior, waitHandler) { }
internal RetryImpl(Func <bool> retry, IExceptionBehavior behavior, IWaitHandler waitHandler) { toRetry = retry; this.behavior = behavior; this.waitHandler = waitHandler; }
internal RetryImpl(Action retry, Func <bool> isDonePredicate, IExceptionBehavior behavior) : this(retry, isDonePredicate, behavior, new WaitHandlerImpl()) { }
public RetryImpl OnException(IExceptionBehavior behavior) { this.behavior = behavior; return(this); }