public override void Subscribe(IFlowableSubscriber <T> subscriber)
        {
            var o = new OtherSubscriber(subscriber, source);

            subscriber.OnSubscribe(o);
            other.Subscribe(o);
        }
예제 #2
0
        public void Subscribe(ICompletableSubscriber s)
        {
            var oo = new OtherSubscriber(s, source);

            s.OnSubscribe(oo);

            other.Subscribe(oo);
        }
예제 #3
0
        public void Subscribe(ISubscriber <T> s)
        {
            var parent = new SampleSubscriber(s);
            var other  = new OtherSubscriber(parent);

            s.OnSubscribe(parent);

            sampler.Subscribe(other);

            source.Subscribe(parent);
        }
            internal WithLatestFromArraySubscriber(IFlowableSubscriber <R> actual, Func <T[], R> combiner, int n)
            {
                this.actual   = actual;
                this.combiner = combiner;
                var os = new OtherSubscriber[n];

                this.latest = new Node[n];
                for (int i = 0; i < n; i++)
                {
                    os[i] = new OtherSubscriber(this, i);
                }
                this.others = os;
            }
예제 #5
0
        static void Main(string[] args)
        {
            Publisher         publisher         = new Publisher();
            Subscriber        subscriber        = new Subscriber();
            OtherSubscriber   otherSubscriber   = new OtherSubscriber();
            AnotherSubscriber anotherSubscriber = new AnotherSubscriber();

            subscriber.Register(publisher);
            otherSubscriber.Register(publisher);
            anotherSubscriber.Register(publisher);

            publisher.Publish(5000);

            Console.ReadKey();
        }
예제 #6
0
 internal SampleSubscriber(IFlowableSubscriber <T> actual, bool emitLast)
 {
     this.actual   = actual;
     this.emitLast = emitLast;
     this.other    = new OtherSubscriber(this);
 }
예제 #7
0
 internal WithLatestFromSubscriber(IFlowableSubscriber <R> actual, Func <T, U, R> combiner)
 {
     this.actual          = actual;
     this.combiner        = combiner;
     this.otherSubscriber = new OtherSubscriber(this);
 }
 internal MainSubscriber(OtherSubscriber parent)
 {
     this.parent = parent;
     this.actual = parent.actual;
 }
 internal TakeUntilSubscriber(IFlowableSubscriber <T> actual)
 {
     this.actual = actual;
     this.other  = new OtherSubscriber(this);
 }
예제 #10
0
 internal OnErrorResumeNextSubscriber(IFlowableSubscriber <T> actual, Func <Exception, IPublisher <T> > handler)
 {
     this.actual  = actual;
     this.handler = handler;
     this.other   = new OtherSubscriber(this);
 }
예제 #11
0
 internal SkipUntilConditionalSubscriber(IConditionalSubscriber <T> actual)
 {
     this.actual = actual;
     this.other  = new OtherSubscriber(this);
 }