T - the type of items emitted by the ConnectableFlowablepublic abstract class ConnectableFlowable<T> extends Flowable<T>
ConnectableFlowable resembles an ordinary Flowable, except that it does not begin
 emitting items when it is subscribed to, but only when its connect(io.reactivex.rxjava3.functions.Consumer<? super io.reactivex.rxjava3.disposables.Disposable>) method is called. In this way you
 can wait for all intended Subscribers to Flowable.subscribe() to the Flowable
 before the Flowable begins emitting items.
 
  
 
 When the upstream terminates, the ConnectableFlowable remains in this terminated state and,
 depending on the actual underlying implementation, relays cached events to late Subscribers.
 In order to reuse and restart this ConnectableFlowable, the reset() method has to be called.
 When called, this ConnectableFlowable will appear as fresh, unconnected source to new Subscribers.
 Disposing the connection will reset the ConnectableFlowable to its fresh state and there is no need to call
 reset() in this case.
 
 Note that although connect() and reset() are safe to call from multiple threads, it is recommended
 a dedicated thread or business logic manages the connection or resetting of a ConnectableFlowable so that
 there is no unwanted signal loss due to early connect() or reset() calls while Subscribers are
 still being subscribed to to this ConnectableFlowable to receive signals from the get go.
 
| Constructor and Description | 
|---|
| ConnectableFlowable() | 
| Modifier and Type | Method and Description | 
|---|---|
| Flowable<T> | autoConnect()Returns a Flowable that automatically connects (at most once) to this ConnectableFlowable
 when the first Subscriber subscribes. | 
| Flowable<T> | autoConnect(int numberOfSubscribers)Returns a Flowable that automatically connects (at most once) to this ConnectableFlowable
 when the specified number of Subscribers subscribe to it. | 
| Flowable<T> | autoConnect(int numberOfSubscribers,
        Consumer<? super Disposable> connection)Returns a Flowable that automatically connects (at most once) to this ConnectableFlowable
 when the specified number of Subscribers subscribe to it and calls the
 specified callback with the Subscription associated with the established connection. | 
| Disposable | connect()Instructs the  ConnectableFlowableto begin emitting the items from its underlyingFlowableto itsSubscribers. | 
| abstract void | connect(Consumer<? super Disposable> connection)Instructs the  ConnectableFlowableto begin emitting the items from its underlyingFlowableto itsSubscribers. | 
| Flowable<T> | refCount()Returns a  Flowablethat stays connected to thisConnectableFlowableas long as there
 is at least one subscription to thisConnectableFlowable. | 
| Flowable<T> | refCount(int subscriberCount)Connects to the upstream  ConnectableFlowableif the number of subscribed
 subscriber reaches the specified count and disconnect if all subscribers have unsubscribed. | 
| Flowable<T> | refCount(int subscriberCount,
        long timeout,
        TimeUnit unit)Connects to the upstream  ConnectableFlowableif the number of subscribed
 subscriber reaches the specified count and disconnect after the specified
 timeout if all subscribers have unsubscribed. | 
| Flowable<T> | refCount(int subscriberCount,
        long timeout,
        TimeUnit unit,
        Scheduler scheduler)Connects to the upstream  ConnectableFlowableif the number of subscribed
 subscriber reaches the specified count and disconnect after the specified
 timeout if all subscribers have unsubscribed. | 
| Flowable<T> | refCount(long timeout,
        TimeUnit unit)Connects to the upstream  ConnectableFlowableif the number of subscribed
 subscriber reaches 1 and disconnect after the specified
 timeout if all subscribers have unsubscribed. | 
| Flowable<T> | refCount(long timeout,
        TimeUnit unit,
        Scheduler scheduler)Connects to the upstream  ConnectableFlowableif the number of subscribed
 subscriber reaches 1 and disconnect after the specified
 timeout if all subscribers have unsubscribed. | 
| abstract void | reset()Resets this ConnectableFlowable into its fresh state if it has terminated. | 
all, amb, ambArray, ambWith, any, blockingFirst, blockingFirst, blockingForEach, blockingIterable, blockingIterable, blockingLast, blockingLast, blockingLatest, blockingMostRecent, blockingNext, blockingSingle, blockingSingle, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, bufferSize, cache, cacheWithInitialCapacity, cast, collect, collectInto, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatestArray, combineLatestArray, combineLatestDelayError, combineLatestDelayError, combineLatestDelayError, combineLatestDelayError, compose, concat, concat, concat, concat, concat, concat, concatArray, concatArrayDelayError, concatArrayEager, concatArrayEager, concatArrayEagerDelayError, concatArrayEagerDelayError, concatDelayError, concatDelayError, concatDelayError, concatEager, concatEager, concatEager, concatEager, concatMap, concatMap, concatMap, concatMapCompletable, concatMapCompletable, concatMapCompletableDelayError, concatMapCompletableDelayError, concatMapCompletableDelayError, concatMapDelayError, concatMapDelayError, concatMapDelayError, concatMapEager, concatMapEager, concatMapEagerDelayError, concatMapEagerDelayError, concatMapIterable, concatMapIterable, concatMapMaybe, concatMapMaybe, concatMapMaybeDelayError, concatMapMaybeDelayError, concatMapMaybeDelayError, concatMapSingle, concatMapSingle, concatMapSingleDelayError, concatMapSingleDelayError, concatMapSingleDelayError, concatWith, concatWith, concatWith, concatWith, contains, count, create, debounce, debounce, debounce, defaultIfEmpty, defer, delay, delay, delay, delay, delay, delay, delaySubscription, delaySubscription, delaySubscription, dematerialize, distinct, distinct, distinct, distinctUntilChanged, distinctUntilChanged, distinctUntilChanged, doAfterNext, doAfterTerminate, doFinally, doOnCancel, doOnComplete, doOnEach, doOnEach, doOnError, doOnLifecycle, doOnNext, doOnRequest, doOnSubscribe, doOnTerminate, elementAt, elementAt, elementAtOrError, empty, error, error, filter, first, firstElement, firstOrError, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMapCompletable, flatMapCompletable, flatMapIterable, flatMapIterable, flatMapIterable, flatMapIterable, flatMapMaybe, flatMapMaybe, flatMapSingle, flatMapSingle, forEach, forEachWhile, forEachWhile, forEachWhile, fromArray, fromCallable, fromFuture, fromFuture, fromFuture, fromFuture, fromIterable, fromPublisher, fromSupplier, generate, generate, generate, generate, generate, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupJoin, hide, ignoreElements, interval, interval, interval, interval, intervalRange, intervalRange, isEmpty, join, just, just, just, just, just, just, just, just, just, just, last, lastElement, lastOrError, lift, map, materialize, merge, merge, merge, merge, merge, merge, merge, merge, mergeArray, mergeArray, mergeArrayDelayError, mergeArrayDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeWith, mergeWith, mergeWith, mergeWith, never, observeOn, observeOn, observeOn, ofType, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureDrop, onBackpressureDrop, onBackpressureLatest, onErrorResumeNext, onErrorResumeWith, onErrorReturn, onErrorReturnItem, onTerminateDetach, parallel, parallel, parallel, publish, publish, publish, publish, range, rangeLong, rebatchRequests, reduce, reduce, reduceWith, repeat, repeat, repeatUntil, repeatWhen, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, retry, retry, retry, retry, retry, retryUntil, retryWhen, safeSubscribe, sample, sample, sample, sample, sample, sample, scan, scan, scanWith, sequenceEqual, sequenceEqual, sequenceEqual, sequenceEqual, serialize, share, single, singleElement, singleOrError, skip, skip, skip, skipLast, skipLast, skipLast, skipLast, skipLast, skipLast, skipUntil, skipWhile, sorted, sorted, startWith, startWithArray, startWithItem, startWithIterable, subscribe, subscribe, subscribe, subscribe, subscribe, subscribe, subscribeActual, subscribeOn, subscribeOn, subscribeWith, switchIfEmpty, switchMap, switchMap, switchMapCompletable, switchMapCompletableDelayError, switchMapDelayError, switchMapDelayError, switchMapMaybe, switchMapMaybeDelayError, switchMapSingle, switchMapSingleDelayError, switchOnNext, switchOnNext, switchOnNextDelayError, switchOnNextDelayError, take, take, take, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeUntil, takeUntil, takeWhile, test, test, test, throttleFirst, throttleFirst, throttleLast, throttleLast, throttleLatest, throttleLatest, throttleLatest, throttleLatest, throttleWithTimeout, throttleWithTimeout, timeInterval, timeInterval, timeInterval, timeInterval, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timer, timer, timestamp, timestamp, timestamp, timestamp, to, toFuture, toList, toList, toList, toMap, toMap, toMap, toMultimap, toMultimap, toMultimap, toMultimap, toObservable, toSortedList, toSortedList, toSortedList, toSortedList, unsafeCreate, unsubscribeOn, using, using, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zipArray, zipWith, zipWith, zipWith, zipWithpublic abstract void connect(@NonNull Consumer<? super Disposable> connection)
ConnectableFlowable to begin emitting the items from its underlying
 Flowable to its Subscribers.connection - the action that receives the connection subscription before the subscription to source happens
          allowing the caller to synchronously disconnect a synchronous sourcepublic abstract void reset()
 Calling this method on a fresh or active ConnectableFlowable has no effect.
public final Disposable connect()
ConnectableFlowable to begin emitting the items from its underlying
 Flowable to its Subscribers.
 
 To disconnect from a synchronous source, use the connect(io.reactivex.rxjava3.functions.Consumer) method.
@NonNull @CheckReturnValue @SchedulerSupport(value="none") @BackpressureSupport(value=PASS_THROUGH) public Flowable<T> refCount()
Flowable that stays connected to this ConnectableFlowable as long as there
 is at least one subscription to this ConnectableFlowable.
 ConnectableFlowable's backpressure behavior.refCount overload does not operate on any particular Scheduler.FlowablerefCount(int), 
refCount(long, TimeUnit), 
refCount(int, long, TimeUnit)@CheckReturnValue @SchedulerSupport(value="none") @BackpressureSupport(value=PASS_THROUGH) public final Flowable<T> refCount(int subscriberCount)
ConnectableFlowable if the number of subscribed
 subscriber reaches the specified count and disconnect if all subscribers have unsubscribed.
 ConnectableFlowable's backpressure behavior.refCount overload does not operate on any particular Scheduler.History: 2.1.14 - experimental
subscriberCount - the number of subscribers required to connect to the upstream@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") @BackpressureSupport(value=PASS_THROUGH) public final Flowable<T> refCount(long timeout, TimeUnit unit)
ConnectableFlowable if the number of subscribed
 subscriber reaches 1 and disconnect after the specified
 timeout if all subscribers have unsubscribed.
 ConnectableFlowable's backpressure behavior.refCount overload operates on the computation Scheduler.History: 2.1.14 - experimental
timeout - the time to wait before disconnecting after all subscribers unsubscribedunit - the time unit of the timeoutrefCount(long, TimeUnit, Scheduler)@CheckReturnValue @SchedulerSupport(value="custom") @BackpressureSupport(value=PASS_THROUGH) public final Flowable<T> refCount(long timeout, TimeUnit unit, Scheduler scheduler)
ConnectableFlowable if the number of subscribed
 subscriber reaches 1 and disconnect after the specified
 timeout if all subscribers have unsubscribed.
 ConnectableFlowable's backpressure behavior.refCount overload operates on the specified Scheduler.History: 2.1.14 - experimental
timeout - the time to wait before disconnecting after all subscribers unsubscribedunit - the time unit of the timeoutscheduler - the target scheduler to wait on before disconnecting@CheckReturnValue @SchedulerSupport(value="io.reactivex:computation") @BackpressureSupport(value=PASS_THROUGH) public final Flowable<T> refCount(int subscriberCount, long timeout, TimeUnit unit)
ConnectableFlowable if the number of subscribed
 subscriber reaches the specified count and disconnect after the specified
 timeout if all subscribers have unsubscribed.
 ConnectableFlowable's backpressure behavior.refCount overload operates on the computation Scheduler.History: 2.1.14 - experimental
subscriberCount - the number of subscribers required to connect to the upstreamtimeout - the time to wait before disconnecting after all subscribers unsubscribedunit - the time unit of the timeoutrefCount(int, long, TimeUnit, Scheduler)@CheckReturnValue @SchedulerSupport(value="custom") @BackpressureSupport(value=PASS_THROUGH) public final Flowable<T> refCount(int subscriberCount, long timeout, TimeUnit unit, Scheduler scheduler)
ConnectableFlowable if the number of subscribed
 subscriber reaches the specified count and disconnect after the specified
 timeout if all subscribers have unsubscribed.
 ConnectableFlowable's backpressure behavior.refCount overload operates on the specified Scheduler.History: 2.1.14 - experimental
subscriberCount - the number of subscribers required to connect to the upstreamtimeout - the time to wait before disconnecting after all subscribers unsubscribedunit - the time unit of the timeoutscheduler - the target scheduler to wait on before disconnecting@NonNull public Flowable<T> autoConnect()
  
 
 The connection happens after the first subscription and happens at most once
 during the lifetime of the returned Flowable. If this ConnectableFlowable
 terminates, the connection is never renewed, no matter how Subscribers come
 and go. Use refCount() to renew a connection or dispose an active
 connection when all Subscribers have cancelled their Subscriptions.
 
 This overload does not allow disconnecting the connection established via
 connect(Consumer). Use the autoConnect(int, Consumer) overload
 to gain access to the Disposable representing the only connection.
refCount(), 
autoConnect(int, Consumer)@NonNull public Flowable<T> autoConnect(int numberOfSubscribers)
  
 
 The connection happens after the given number of subscriptions and happens at most once
 during the lifetime of the returned Flowable. If this ConnectableFlowable
 terminates, the connection is never renewed, no matter how Subscribers come
 and go. Use refCount() to renew a connection or dispose an active
 connection when all Subscribers have cancelled their Subscriptions.
 
 This overload does not allow disconnecting the connection established via
 connect(Consumer). Use the autoConnect(int, Consumer) overload
 to gain access to the Disposable representing the only connection.
numberOfSubscribers - the number of subscribers to await before calling connect
                            on the ConnectableFlowable. A non-positive value indicates
                            an immediate connection.@NonNull public Flowable<T> autoConnect(int numberOfSubscribers, @NonNull Consumer<? super Disposable> connection)
  
 
 The connection happens after the given number of subscriptions and happens at most once
 during the lifetime of the returned Flowable. If this ConnectableFlowable
 terminates, the connection is never renewed, no matter how Subscribers come
 and go. Use refCount() to renew a connection or dispose an active
 connection when all Subscribers have cancelled their Subscriptions.
numberOfSubscribers - the number of subscribers to await before calling connect
                            on the ConnectableFlowable. A non-positive value indicates
                            an immediate connection.connection - the callback Consumer that will receive the Subscription representing the
                   established connection