Пример #1
0
        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)));
            }
        }
Пример #2
0
 public DefaultRetryHandler(IRetryHandlerOptions options, ILogger logger = null)
 {
     Options = options;
     _logger = logger;
 }
Пример #3
0
 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);
 }
Пример #4
0
 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));
 }
Пример #5
0
 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;
 }