Exemplo n.º 1
0
        public EventStreamer(IEventRelay eventRelay)
        {
            var subject = new Subject <IDomainEvent>();

            eventRelay.RegisterRelayHandler(e => subject.OnNext(e));

            EventStream = subject.AsObservable()
                          .ObserveOn(NewThreadScheduler.Default) // Events published to stream from relay should be non blocking. Defer to IEventHandler for blocking calls.
                          .Publish();
        }
Exemplo n.º 2
0
            public AppNodeImpl(IDiscardableNode parentDiscardableNode)
            {
                this.discardableImpl_            = parentDiscardableNode.CreateChild();
                this.discardableImpl_.OnDiscard += _ => this.Discard_();

                this.listener_ =
                    IEventFactory.INSTANCE.NewListener(this.discardableImpl_);
                this.downwardRelay_ =
                    IEventFactory.INSTANCE.NewRelay(this.discardableImpl_);

                this.forOnTickMethod_ = new ForOnTickMethodImpl(this);
            }