Beispiel #1
0
        public EventStateMachine(
            TMachineState initialState,
            IStateMachineDispatcher <TMachineState, TMachineEvent, TGeneratedEvent> machineDispatcher,
            ISynchronizationQueueFactory synchronizationQueueFactory)
        {
            if (synchronizationQueueFactory is null)
            {
                throw new ArgumentNullException(nameof(synchronizationQueueFactory));
            }

            CurrentState              = initialState;
            this.machineDispatcher    = machineDispatcher ?? throw new ArgumentNullException(nameof(machineDispatcher));
            this.synchronizationQueue = synchronizationQueueFactory.Create <TMachineEvent>(ProcessImpl);
        }
 public ConsoleSynchronizationContext(ISynchronizationQueue queue)
 {
     this.queue = queue;
 }
 public static void Init(ISynchronizationQueue queue)
 {
     _queue = queue;
 }
Beispiel #4
0
 public GeometryPool(IManagerChangeNotify notify, RenderLoopSynchronizationContext syncContext)
 {
     sync        = SynchronizationContextBuilder.Create <GeometryPool, GeometryPoolComponent>(this, syncContext);
     pool        = new ConcurrentDictionary <Guid, IGeometryData>();
     this.notify = notify;
 }