public AutoScalingChannelPool(IChannelFactory factory, AutoScalingOptions options) { _factory = factory; _options = options; ValidateOptions(options); SetupScaling(); }
private static void ValidateOptions(AutoScalingOptions options) { if (options.MinimunPoolSize <= 0) { throw new ArgumentException($"Minimum Pool Size needs to be a positive integer. Got: {options.MinimunPoolSize}"); } if (options.MaximumPoolSize <= 0) { throw new ArgumentException($"Maximum Pool Size needs to be a positive integer. Got: {options.MinimunPoolSize}"); } if (options.MinimunPoolSize > options.MaximumPoolSize) { throw new ArgumentException($"The Maximum Pool Size ({options.MaximumPoolSize}) must be larger than the Minimum Pool Size ({options.MinimunPoolSize})"); } }
public AutoScalingChannelPoolFactory(IChannelFactory factory, AutoScalingOptions options = null) { _factory = factory; _options = options ?? AutoScalingOptions.Default; _channelPools = new ConcurrentDictionary <string, Lazy <IChannelPool> >(); }