/// <summary> /// Mockable Constructor /// </summary> /// <param name="count">Count</param> /// <param name="connection">Connection</param> /// <param name="throughput">Throughput</param> /// <param name="messagesPerScaleUnit">Messages Per-Scale Unit</param> /// <param name="connection">Setup</param> /// <param name="minimum">Minimum Scale</param> /// <param name="maximum">Maximmum Scale</param> /// <param name="checkScaleInMinutes">Check Scale Every</param> public StorageQueueAutoScaler(IQueueCount count, IQueueConnection <T> connection, IQueueThroughput throughput, ushort messagesPerScaleUnit = QueueScaler <T> .MessagesPerScaleUnitDefault, byte minimum = 1, byte maximum = 2, byte checkScaleInMinutes = BaseTimes.ScaleCheck) : base(count, messagesPerScaleUnit, connection, minimum, maximum, checkScaleInMinutes) { if (null == throughput) { throw new ArgumentNullException("throughput"); } this.throughput = throughput; }
/// <summary> /// Mockable Constructor /// </summary> public QueueScaler(IQueueCount queueCount, ushort messagesPerScaleUnit = MessagesPerScaleUnitDefault) { if (null == queueCount) { throw new ArgumentNullException("queueCount"); } this.queueCount = queueCount; this.messagesPerScaleUnit = messagesPerScaleUnit < 10 ? (ushort)MessagesPerScaleUnitDefault : messagesPerScaleUnit; }
public MyQScaler(IQueueCount count) : base(count) { }
public ScalableQueue(IQueueCount count, AppConfig config) : base(count, 1, config, 1, 15, 1) { }
/// <summary> /// Default Constructor /// </summary> /// <param name="count">Count</param> /// <param name="messagesPerScaleUnit">Messages Per-Scale Unit</param> /// <param name="configuration">Configuration</param> /// <param name="minimum">Minimum Scale</param> /// <param name="maximum">Maximmum Scale</param> /// <param name="checkScaleInMinutes">Check Scale Every</param> public QueueAutoScaler(IQueueCount count, ushort messagesPerScaleUnit = QueueScaler <T> .MessagesPerScaleUnitDefault, T configuration = default(T), byte minimum = 1, byte maximum = 2, byte checkScaleInMinutes = BaseTimes.ScaleCheck) : base(new QueueScaler <T>(count, messagesPerScaleUnit), configuration, minimum, maximum, checkScaleInMinutes) { }
public ScalableQueue(IQueueCount count, Configuration config) : base(count, 1, config, 1, 15, 1) { }
/// <summary> /// Default Constructor /// </summary> /// <param name="count">Count</param> /// <param name="messagesPerScaleUnit">Messages Per-Scale Unit</param> /// <param name="connection">Queue Connection</param> /// <param name="minimum">Minimum Scale</param> /// <param name="maximum">Maximmum Scale</param> /// <param name="checkScaleInMinutes">Check Scale Every</param> public StorageQueueAutoScaler(IQueueCount count, IQueueConnection <T> connection, ushort messagesPerScaleUnit = QueueScaler <T> .MessagesPerScaleUnitDefault, byte minimum = 1, byte maximum = 2, byte checkScaleInMinutes = BaseTimes.ScaleCheck) : this(count, connection, new QueueThroughput(), messagesPerScaleUnit, minimum, maximum, checkScaleInMinutes) { }