Example #1
0
 public void Subscribe(ISubscriber <R> s)
 {
     if (PublisherCallableXMap <T, R> .CallableXMap(source, s, mapper))
     {
         return;
     }
     source.Subscribe(new SwitchMapSubscriber(s, mapper, prefetch));
 }
Example #2
0
 public void Subscribe(ISubscriber <R> s)
 {
     if (PublisherCallableXMap <T, R> .CallableXMap(source, s, mapper))
     {
         return;
     }
     source.Subscribe(new FlatMapSubscriber(s, mapper, delayErrors, maxConcurrency, prefetch));
 }
        public void Subscribe(ISubscriber <R> s)
        {
            if (PublisherCallableXMap <T, R> .CallableXMap(source, s, mapper))
            {
                return;
            }

            if (errorMode == ConcatErrorMode.Immediate)
            {
                if (s is IConditionalSubscriber <R> )
                {
                    source.Subscribe(new ConcatImmediateConditionalSubscriber((IConditionalSubscriber <R>)s, mapper, prefetch));
                }
                else
                {
                    source.Subscribe(new ConcatImmediateSubscriber(s, mapper, prefetch));
                }
            }
            else
            if (errorMode == ConcatErrorMode.Boundary)
            {
                if (s is IConditionalSubscriber <R> )
                {
                    source.Subscribe(new ConcatBoundaryConditionalSubscriber((IConditionalSubscriber <R>)s, mapper, prefetch));
                }
                else
                {
                    source.Subscribe(new ConcatBoundarySubscriber(s, mapper, prefetch));
                }
            }
            else
            {
                if (s is IConditionalSubscriber <R> )
                {
                    source.Subscribe(new ConcatEndConditionalSubscriber((IConditionalSubscriber <R>)s, mapper, prefetch));
                }
                else
                {
                    source.Subscribe(new ConcatEndSubscriber(s, mapper, prefetch));
                }
            }
        }