/// <summary> /// Create a new instance of the <see cref="DelayQueue{TMessage}"/> /// </summary> public DelayQueue(IParallelOperations parallelOperations) { _parallelOperations = parallelOperations; _stopwatch = new Stopwatch(); StateMachine.Initialize <IDelayQueueContext>(this).With <QueueStateBase>(); }
/// <summary> /// Create a new <see cref="EventDecoupler{TEventArgs}"/> to decouple a single listener from an event /// </summary> public EventDecoupler(EventHandler <TEventArgs> eventTarget, IParallelOperations parallelOperations, IModuleLogger logger) : base(elem => eventTarget(elem.Item1, elem.Item2), parallelOperations, logger) { }
/// <summary> /// Factory method to create a transition mapper that executes transitions on new thread /// </summary> public static ITransitionMapper TransitionMapper(IParallelOperations parallelOperations) { return(new TransitionMapper(parallelOperations)); }
/// <summary> /// Create mapper that uses parallel operations /// </summary> public TransitionMapper(IParallelOperations parallelOperations) { _parallelOperations = parallelOperations; }
public AsyncAttemptInvokation(IParallelOperations parallelOperations, Action <T> callback) { _parallelOperations = parallelOperations; _callback = callback; }
/// <summary> /// Create a new <see cref="Threading.ParallelOperations.EventDecoupler{TEventArgs}"/> to decouple a single listener from an event /// </summary> public ParallelOperationsQueue(Action <TElement> elementExecution, IParallelOperations parallelOperations, IModuleLogger errorLogger) { ElementExecution = elementExecution; ParallelOperations = parallelOperations; ErrorLogger = errorLogger; }