public override void Init(IMessageBus messageBus) { Disposables.Add( messageBus.Listen <AddedEntityMessage <PlanReceiptOrder> >().Subscribe(this.HandlingAddedMessage)); Disposables.Add( messageBus.Listen <UpdatedEntityMessage <PlanReceiptOrder> >().Subscribe(this.HandlingUpdatedMessage)); }
public static void MultiDispose(params IDisposable[] Disposables) { foreach (var Disposable in Disposables.Where(Disposable => Disposable != null)) { Disposable.Dispose(); } }
public void RunMultAsync(IFiberFactory factory, Func <IChannel <int> > queueFactory, int count, int wait1) { using AutoResetEvent wait = new AutoResetEvent(false); int hCount = 0; Task AsyncHandler(int s) { int c = Interlocked.Increment(ref hCount); if (c == OperationsPerInvoke) { wait.Set(); } NOP(wait1 / 1000.0); return(Task.CompletedTask); } using IChannel <int> _queue = queueFactory(); using IDisposable fibers = new Disposables(Enumerable.Range(0, count).Select(x => { IAsyncFiber fiber = factory.CreateAsyncFiber(ex => { }); IDisposable sub = _queue.Subscribe(fiber, AsyncHandler); return(fiber); })); for (int j = 1; j <= OperationsPerInvoke; j++) { _queue.Publish(j); } WaitHandle.WaitAny(new WaitHandle[] { wait }); }
public override void OnInspectorGUI() { using (Disposables.Indent()) { DoDrawHeader(); VerifyHandler(); using (var changeCheckScope = Disposables.ChangeCheck()) { serializedObject.Update(); foreach (var serializedProperty in serializedObject.Properties()) { if (serializedProperty.name == "storedValue") { DoTextBox(serializedProperty); } else { DrawProperty(serializedProperty); } } if (changeCheckScope.changed) { serializedObject.ApplyModifiedProperties(); } } FoCsGUI.Layout.GetControlRect(false, FoCsGUI.Padding); } }