public Stream GetFileStream(IRetryHandlerOptions options = default, ILogger logger = default) { if (options == null) { options = RetryHandler.DefaultOptions; } lock (ReadLock) { return(fileStream = RetryHandler.Handle((path) => { if (Exists) { return File.Open(path, FileMode.Open); } return default; }, FullPath, 5, logger, options, typeof(IOException))); } }
public DefaultRetryHandler(IRetryHandlerOptions options, ILogger logger = null) { Options = options; _logger = logger; }
public static async Task Handle <T>(Func <T, Task> handle, T argument, int retryAttempts, ILogger logger = default, IRetryHandlerOptions options = default, params Type[] retryExceptions) { await new DefaultRetryHandler(options, logger) .Handle(handle, argument, retryAttempts, false, retryExceptions); }
public static TResult Handle <T, TResult>(Func <T, TResult> handle, T argument, int retryAttempts, ILogger logger = default, IRetryHandlerOptions options = default, params Type[] retryExceptions) { return(new DefaultRetryHandler(options, logger) .Handle(handle, argument, retryAttempts, false, retryExceptions)); }
public static void Handle(Action handle, int retryAttempts, ILogger logger = default, IRetryHandlerOptions options = default, params Type[] retryExceptions) { new DefaultRetryHandler(options, logger) .Handle(handle, retryAttempts, false, retryExceptions); }
public DefaultFileSystemService(ILogger <IFileService> logger, IRetryHandler retryHandler, IRetryHandlerOptions retryHandlerOptions) { _logger = logger; _retryHandler = retryHandler; _retryHandlerOptions = retryHandlerOptions; }