public virtual IObservable <TSource> Timeout <TSource, TTimeout>(IObservable <TSource> source, Func <TSource, IObservable <TTimeout> > timeoutDurationSelector, IObservable <TSource> other) { return(Timeout_(source, Observable.Never <TTimeout>(), timeoutDurationSelector, other)); }
private static IObservable <TSource> Amb_ <TSource>(IEnumerable <IObservable <TSource> > sources) { return(sources.Aggregate(Observable.Never <TSource>(), (previous, current) => previous.Amb(current))); }
public virtual IObservable <TSource> Timeout <TSource, TTimeout>(IObservable <TSource> source, Func <TSource, IObservable <TTimeout> > timeoutDurationSelector) { return(Timeout_(source, Observable.Never <TTimeout>(), timeoutDurationSelector, Observable.Throw <TSource>(new TimeoutException()))); }
private static IObservable <IGroupedObservable <TKey, TElement> > GroupBy_ <TSource, TKey, TElement>(IObservable <TSource> source, Func <TSource, TKey> keySelector, Func <TSource, TElement> elementSelector, IEqualityComparer <TKey> comparer) { #if !NO_PERF return(new GroupBy <TSource, TKey, TElement>(source, keySelector, elementSelector, comparer)); #else return(GroupByUntil_ <TSource, TKey, TElement, Unit>(source, keySelector, elementSelector, _ => Observable.Never <Unit>(), comparer)); #endif }