@@ -8843,57 +8843,6 @@ public final Flowable<T> delaySubscription(long delay, TimeUnit unit, Scheduler
88438843 return delaySubscription(timer(delay, unit, scheduler));
88448844 }
88458845
8846- /**
8847- * Returns a Flowable that reverses the effect of {@link #materialize materialize} by transforming the
8848- * {@link Notification} objects emitted by the source Publisher into the items or notifications they
8849- * represent.
8850- * <p>
8851- * <img width="640" height="335" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/dematerialize.png" alt="">
8852- * <p>
8853- * When the upstream signals an {@link Notification#createOnError(Throwable) onError} or
8854- * {@link Notification#createOnComplete() onComplete} item, the
8855- * returned Flowable cancels the flow and terminates with that type of terminal event:
8856- * <pre><code>
8857- * Flowable.just(createOnNext(1), createOnComplete(), createOnNext(2))
8858- * .doOnCancel(() -> System.out.println("Cancelled!"));
8859- * .dematerialize()
8860- * .test()
8861- * .assertResult(1);
8862- * </code></pre>
8863- * If the upstream signals {@code onError} or {@code onComplete} directly, the flow is terminated
8864- * with the same event.
8865- * <pre><code>
8866- * Flowable.just(createOnNext(1), createOnNext(2))
8867- * .dematerialize()
8868- * .test()
8869- * .assertResult(1, 2);
8870- * </code></pre>
8871- * If this behavior is not desired, the completion can be suppressed by applying {@link #concatWith(Publisher)}
8872- * with a {@link #never()} source.
8873- * <dl>
8874- * <dt><b>Backpressure:</b></dt>
8875- * <dd>The operator doesn't interfere with backpressure which is determined by the source {@code Publisher}'s
8876- * backpressure behavior.</dd>
8877- * <dt><b>Scheduler:</b></dt>
8878- * <dd>{@code dematerialize} does not operate by default on a particular {@link Scheduler}.</dd>
8879- * </dl>
8880- *
8881- * @param <T2> the output value type
8882- * @return a Flowable that emits the items and notifications embedded in the {@link Notification} objects
8883- * emitted by the source Publisher
8884- * @see <a href="http://reactivex.io/documentation/operators/materialize-dematerialize.html">ReactiveX operators documentation: Dematerialize</a>
8885- * @see #dematerialize(Function)
8886- * @deprecated in 2.2.4; inherently type-unsafe as it overrides the output generic type. Use {@link #dematerialize(Function)} instead.
8887- */
8888- @CheckReturnValue
8889- @SchedulerSupport(SchedulerSupport.NONE)
8890- @BackpressureSupport(BackpressureKind.PASS_THROUGH)
8891- @Deprecated
8892- @SuppressWarnings({ "unchecked", "rawtypes" })
8893- public final <T2> Flowable<T2> dematerialize() {
8894- return RxJavaPlugins.onAssembly(new FlowableDematerialize(this, Functions.identity()));
8895- }
8896-
88978846 /**
88988847 * Returns a Flowable that reverses the effect of {@link #materialize materialize} by transforming the
88998848 * {@link Notification} objects extracted from the source items via a selector function
@@ -13234,51 +13183,6 @@ public final <R> Flowable<R> replay(Function<? super Flowable<T>, ? extends Publ
1323413183 FlowableInternalHelper.replaySupplier(this, bufferSize, time, unit, scheduler, eagerTruncate), selector);
1323513184 }
1323613185
13237- /**
13238- * Returns a Flowable that emits items that are the results of invoking a specified selector on items
13239- * emitted by a {@link ConnectableFlowable} that shares a single subscription to the source Publisher,
13240- * replaying a maximum of {@code bufferSize} items.
13241- * <p>
13242- * Note that due to concurrency requirements, {@code replay(bufferSize)} may hold strong references to more than
13243- * {@code bufferSize} source emissions.
13244- * <p>
13245- * <img width="640" height="440" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.fns.png" alt="">
13246- * <dl>
13247- * <dt><b>Backpressure:</b></dt>
13248- * <dd>This operator supports backpressure. Note that the upstream requests are determined by the child
13249- * Subscriber which requests the largest amount: i.e., two child Subscribers with requests of 10 and 100 will
13250- * request 100 elements from the underlying Publisher sequence.</dd>
13251- * <dt><b>Scheduler:</b></dt>
13252- * <dd>You specify which {@link Scheduler} this operator will use.</dd>
13253- * </dl>
13254- *
13255- * @param <R>
13256- * the type of items emitted by the resulting Publisher
13257- * @param selector
13258- * a selector function, which can use the multicasted sequence as many times as needed, without
13259- * causing multiple subscriptions to the Publisher
13260- * @param bufferSize
13261- * the buffer size that limits the number of items the connectable Publisher can replay
13262- * @param scheduler
13263- * the Scheduler on which the replay is observed
13264- * @return a Flowable that emits items that are the results of invoking the selector on items emitted by
13265- * a {@link ConnectableFlowable} that shares a single subscription to the source Publisher,
13266- * replaying no more than {@code bufferSize} notifications
13267- * @see <a href="http://reactivex.io/documentation/operators/replay.html">ReactiveX operators documentation: Replay</a>
13268- */
13269- @CheckReturnValue
13270- @NonNull
13271- @BackpressureSupport(BackpressureKind.FULL)
13272- @SchedulerSupport(SchedulerSupport.CUSTOM)
13273- public final <R> Flowable<R> replay(final Function<? super Flowable<T>, ? extends Publisher<R>> selector, final int bufferSize, final Scheduler scheduler) {
13274- ObjectHelper.requireNonNull(selector, "selector is null");
13275- ObjectHelper.requireNonNull(scheduler, "scheduler is null");
13276- ObjectHelper.verifyPositive(bufferSize, "bufferSize");
13277- return FlowableReplay.multicastSelector(FlowableInternalHelper.replaySupplier(this, bufferSize, false),
13278- FlowableInternalHelper.replayFunction(selector, scheduler)
13279- );
13280- }
13281-
1328213186 /**
1328313187 * Returns a Flowable that emits items that are the results of invoking a specified selector on items
1328413188 * emitted by a {@link ConnectableFlowable} that shares a single subscription to the source Publisher,
@@ -13403,43 +13307,6 @@ public final <R> Flowable<R> replay(Function<? super Flowable<T>, ? extends Publ
1340313307 return FlowableReplay.multicastSelector(FlowableInternalHelper.replaySupplier(this, time, unit, scheduler, eagerTruncate), selector);
1340413308 }
1340513309
13406- /**
13407- * Returns a Flowable that emits items that are the results of invoking a specified selector on items
13408- * emitted by a {@link ConnectableFlowable} that shares a single subscription to the source Publisher.
13409- * <p>
13410- * <img width="640" height="445" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.fs.png" alt="">
13411- * <dl>
13412- * <dt><b>Backpressure:</b></dt>
13413- * <dd>This operator supports backpressure. Note that the upstream requests are determined by the child
13414- * Subscriber which requests the largest amount: i.e., two child Subscribers with requests of 10 and 100 will
13415- * request 100 elements from the underlying Publisher sequence.</dd>
13416- * <dt><b>Scheduler:</b></dt>
13417- * <dd>You specify which {@link Scheduler} this operator will use.</dd>
13418- * </dl>
13419- *
13420- * @param <R>
13421- * the type of items emitted by the resulting Publisher
13422- * @param selector
13423- * a selector function, which can use the multicasted sequence as many times as needed, without
13424- * causing multiple subscriptions to the Publisher
13425- * @param scheduler
13426- * the Scheduler where the replay is observed
13427- * @return a Flowable that emits items that are the results of invoking the selector on items emitted by
13428- * a {@link ConnectableFlowable} that shares a single subscription to the source Publisher,
13429- * replaying all items
13430- * @see <a href="http://reactivex.io/documentation/operators/replay.html">ReactiveX operators documentation: Replay</a>
13431- */
13432- @CheckReturnValue
13433- @NonNull
13434- @BackpressureSupport(BackpressureKind.FULL)
13435- @SchedulerSupport(SchedulerSupport.CUSTOM)
13436- public final <R> Flowable<R> replay(final Function<? super Flowable<T>, ? extends Publisher<R>> selector, final Scheduler scheduler) {
13437- ObjectHelper.requireNonNull(selector, "selector is null");
13438- ObjectHelper.requireNonNull(scheduler, "scheduler is null");
13439- return FlowableReplay.multicastSelector(FlowableInternalHelper.replaySupplier(this),
13440- FlowableInternalHelper.replayFunction(selector, scheduler));
13441- }
13442-
1344313310 /**
1344413311 * Returns a {@link ConnectableFlowable} that shares a single subscription to the source Publisher that
1344513312 * replays at most {@code bufferSize} items emitted by that Publisher. A Connectable Publisher resembles
@@ -13651,41 +13518,6 @@ public final ConnectableFlowable<T> replay(final int bufferSize, final long time
1365113518 return FlowableReplay.create(this, time, unit, scheduler, bufferSize, eagerTruncate);
1365213519 }
1365313520
13654- /**
13655- * Returns a {@link ConnectableFlowable} that shares a single subscription to the source Publisher and
13656- * replays at most {@code bufferSize} items emitted by that Publisher. A Connectable Publisher resembles
13657- * an ordinary Publisher, except that it does not begin emitting items when it is subscribed to, but only
13658- * when its {@code connect} method is called.
13659- * <p>
13660- * Note that due to concurrency requirements, {@code replay(bufferSize)} may hold strong references to more than
13661- * {@code bufferSize} source emissions.
13662- * <p>
13663- * <img width="640" height="515" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.ns.png" alt="">
13664- * <dl>
13665- * <dt><b>Backpressure:</b></dt>
13666- * <dd>This operator supports backpressure. Note that the upstream requests are determined by the child
13667- * Subscriber which requests the largest amount: i.e., two child Subscribers with requests of 10 and 100 will
13668- * request 100 elements from the underlying Publisher sequence.</dd>
13669- * <dt><b>Scheduler:</b></dt>
13670- * <dd>You specify which {@link Scheduler} this operator will use.</dd>
13671- * </dl>
13672- *
13673- * @param bufferSize
13674- * the buffer size that limits the number of items that can be replayed
13675- * @param scheduler
13676- * the scheduler on which the Subscribers will observe the emitted items
13677- * @return a {@link ConnectableFlowable} that shares a single subscription to the source Publisher and
13678- * replays at most {@code bufferSize} items that were emitted by the Publisher
13679- * @see <a href="http://reactivex.io/documentation/operators/replay.html">ReactiveX operators documentation: Replay</a>
13680- */
13681- @CheckReturnValue
13682- @BackpressureSupport(BackpressureKind.FULL)
13683- @SchedulerSupport(SchedulerSupport.CUSTOM)
13684- public final ConnectableFlowable<T> replay(final int bufferSize, final Scheduler scheduler) {
13685- ObjectHelper.requireNonNull(scheduler, "scheduler is null");
13686- return FlowableReplay.observeOn(replay(bufferSize), scheduler);
13687- }
13688-
1368913521 /**
1369013522 * Returns a {@link ConnectableFlowable} that shares a single subscription to the source Publisher and
1369113523 * replays all items emitted by that Publisher within a specified time window. A Connectable Publisher
@@ -13800,37 +13632,6 @@ public final ConnectableFlowable<T> replay(final long time, final TimeUnit unit,
1380013632 return FlowableReplay.create(this, time, unit, scheduler, eagerTruncate);
1380113633 }
1380213634
13803- /**
13804- * Returns a {@link ConnectableFlowable} that shares a single subscription to the source Publisher that
13805- * will replay all of its items and notifications to any future {@link Subscriber} on the given
13806- * {@link Scheduler}. A Connectable Publisher resembles an ordinary Publisher, except that it does not
13807- * begin emitting items when it is subscribed to, but only when its {@code connect} method is called.
13808- * <p>
13809- * <img width="640" height="515" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.s.png" alt="">
13810- * <dl>
13811- * <dt><b>Backpressure:</b></dt>
13812- * <dd>This operator supports backpressure. Note that the upstream requests are determined by the child
13813- * Subscriber which requests the largest amount: i.e., two child Subscribers with requests of 10 and 100 will
13814- * request 100 elements from the underlying Publisher sequence.</dd>
13815- * <dt><b>Scheduler:</b></dt>
13816- * <dd>You specify which {@link Scheduler} this operator will use.</dd>
13817- * </dl>
13818- *
13819- * @param scheduler
13820- * the Scheduler on which the Subscribers will observe the emitted items
13821- * @return a {@link ConnectableFlowable} that shares a single subscription to the source Publisher that
13822- * will replay all of its items and notifications to any future {@link Subscriber} on the given
13823- * {@link Scheduler}
13824- * @see <a href="http://reactivex.io/documentation/operators/replay.html">ReactiveX operators documentation: Replay</a>
13825- */
13826- @CheckReturnValue
13827- @BackpressureSupport(BackpressureKind.FULL)
13828- @SchedulerSupport(SchedulerSupport.CUSTOM)
13829- public final ConnectableFlowable<T> replay(final Scheduler scheduler) {
13830- ObjectHelper.requireNonNull(scheduler, "scheduler is null");
13831- return FlowableReplay.observeOn(replay(), scheduler);
13832- }
13833-
1383413635 /**
1383513636 * Returns a Flowable that mirrors the source Publisher, resubscribing to it if it calls {@code onError}
1383613637 * (infinite retry count).
0 commit comments