示例#1
0
        /// <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>();
        }
示例#2
0
 /// <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));
 }
示例#4
0
 /// <summary>
 /// Create mapper that uses parallel operations
 /// </summary>
 public TransitionMapper(IParallelOperations parallelOperations)
 {
     _parallelOperations = parallelOperations;
 }
示例#5
0
 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;
 }