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; }
public GeometryPool(IManagerChangeNotify notify, RenderLoopSynchronizationContext syncContext) { sync = SynchronizationContextBuilder.Create <GeometryPool, GeometryPoolComponent>(this, syncContext); pool = new ConcurrentDictionary <Guid, IGeometryData>(); this.notify = notify; }