public ThrottleHandler(Utility.IMathComponent math, Func <TParam, TResult> executing, int milliseconds, bool takeFirst = false) { _executing = executing; _stop = DateTime.Now + new TimeSpan(0, 0, 0, 0, milliseconds); _math = math; _leading = takeFirst; if (_leading) { _parameterSelector = new FirstPicker <TParam>(); } else { _parameterSelector = new LastPicker <TParam>(); } _executor = new FirstSetter <TResult>(); }
public ThrottleComponent(Utility.IMathComponent math, Function.ICompactComponent fnCompact, Utility.ICompactComponent utilCompact) { _fnCompact = fnCompact; _utilCompact = utilCompact; _math = math; }