예제 #1
0
        public Settings(
            string sourceRoot,
            ILocation destinationRoot,
            IRateLimiterSettings rateLimiterSettings = null,
            ILoggerSettings loggerSettings           = null,
            IGifSettings gifSettings   = null,
            IJpegSettings jpegSettings = null,
            IPngSettings pngSettings   = null)
        {
            if (string.IsNullOrEmpty(sourceRoot))
            {
                throw new ArgumentException("SourceRoot must be set.", "sourceRoot");
            }

            if (destinationRoot == null)
            {
                throw new ArgumentException("DestinationRoot must be set.", "destinationRoot");
            }

            SourceRoot          = sourceRoot;
            DestinationRoot     = destinationRoot;
            RateLimiterSettings = rateLimiterSettings ?? new RateLimiterSettings();
            LoggerSettings      = loggerSettings ?? new LoggerSettings();
            GifSettings         = gifSettings ?? new GifSettings();
            JpegSettings        = jpegSettings ?? new JpegSettings();
            PngSettings         = pngSettings ?? new PngSettings();
        }
예제 #2
0
 public RateLimiter(IRateLimiterSettings settings, ILogger logger)
 {
     _settings = settings;
     _logger   = logger;
 }
예제 #3
0
 public RateLimiter(IRateLimiterSettings settings) : this(settings, new Logger(new LoggerSettings()))
 {
 }