/// <summary> /// Конструктор для саоздния объекта <see cref="BalancedTransmitter{TItem}"/>. /// </summary> /// <param name="source">Источник элементов.</param> /// <param name="target">Цель для отпрвки.</param> /// <param name="exceptionHandler">Обработчик исключений, возникающих во время получения или отправки.</param> /// <param name="minimumThreshold">Минимальное кол-во элементов находящихся в отпрвке, по достижении которого <see cref="BalancedTransmitter{TItem}"/> начинает опрашивать <param name="source"/>.</param> /// <param name="maximumThreshold">Максимальное кол-во элементов находящихся в отпрвке, по достижении которого <see cref="BalancedTransmitter{TItem}"/> перестаёт опрашивать <param name="source"/>.</param> public BalancedTransmitter(ISource <TItem> source, ITarget <TItem> target, IExceptionHandler exceptionHandler, int minimumThreshold, int maximumThreshold) : base(source, target, exceptionHandler) { Contract.Requires <ArgumentException>(minimumThreshold >= 0); Contract.Requires <ArgumentException>(minimumThreshold < maximumThreshold); _maximumThreshold = maximumThreshold; _scheduler = new CountdownTaskScheduler(minimumThreshold); _taskFactory = new TaskFactory(_scheduler); }
public void SetUp() { _countdownTaskScheduler = new CountdownTaskScheduler(0); }