[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/hemanthgit/RxJava/2.x/src/main/java/io/reactivex/Flowable.java [Back]  [Original]

/** * Copyright (c) 2016-present, RxJava Contributors. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See * the License for the specific language governing permissions and limitations under the License. */ package io.reactivex; import java.util.*; import java.util.concurrent.*; import org.reactivestreams.*; import io.reactivex.annotations.*; import io.reactivex.disposables.Disposable; import io.reactivex.exceptions.Exceptions; import io.reactivex.flowables.*; import io.reactivex.functions.*; import io.reactivex.internal.functions.*; import io.reactivex.internal.fuseable.*; import io.reactivex.internal.operators.flowable.*; import io.reactivex.internal.operators.observable.ObservableFromPublisher; import io.reactivex.internal.schedulers.ImmediateThinScheduler; import io.reactivex.internal.subscribers.*; import io.reactivex.internal.util.*; import io.reactivex.parallel.ParallelFlowable; import io.reactivex.plugins.RxJavaPlugins; import io.reactivex.schedulers.*; import io.reactivex.subscribers.*; /** * The Flowable class that implements the Reactive-Streams Pattern and offers factory methods, * intermediate operators and the ability to consume reactive dataflows. *

* Reactive-Streams operates with {@code Publisher}s which {@code Flowable} extends. Many operators * therefore accept general {@code Publisher}s directly and allow direct interoperation with other * Reactive-Streams implementations. *

* The Flowable hosts the default buffer size of 128 elements for operators, accessible via {@link #bufferSize()}, * that can be overridden globally via the system parameter {@code rx2.buffer-size}. Most operators, however, have * overloads that allow setting their internal buffer size explicitly. *

* The documentation for this class makes use of marble diagrams. The following legend explains these diagrams: *

* [] *

* For more information see the ReactiveX * documentation. * * @param * the type of the items emitted by the Flowable */ public abstract class Flowable implements Publisher { /** The default buffer size. */ static final int BUFFER_SIZE; static { BUFFER_SIZE = Math.max(1, Integer.getInteger("rx2.buffer-size", 128)); } /** * Mirrors the one Publisher in an Iterable of several Publishers that first either emits an item or sends * a termination notification. *

* [] *

*
Backpressure:
*
The operator itself doesn't interfere with backpressure which is determined by the winning * {@code Publisher}'s backpressure behavior.
*
Scheduler:
*
{@code amb} does not operate by default on a particular {@link Scheduler}.
*
* * @param the common element type * @param sources * an Iterable of Publishers sources competing to react first. A subscription to each Publisher will * occur in the same order as in this Iterable. * @return a Flowable that emits the same sequence as whichever of the source Publishers first * emitted an item or sent a termination notification * @see ReactiveX operators documentation: Amb */ @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable amb(Iterable
Web Proxy Viewer  |  New URL  |  Original Page