Trait/Object

reactor.core.scala.publisher

SFlux

Related Docs: object SFlux | package publisher

Permalink

trait SFlux[+T] extends SFluxLike[T] with MapablePublisher[T] with ScalaConverters

Linear Supertypes
MapablePublisher[T], Publisher[T @scala.annotation.unchecked.uncheckedVariance], SFluxLike[T], ScalaConverters, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SFlux
  2. MapablePublisher
  3. Publisher
  4. SFluxLike
  5. ScalaConverters
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. implicit class PimpConnectableFlux[T] extends AnyRef

    Permalink
    Definition Classes
    ScalaConverters
  2. implicit class PimpJFlux[T] extends AnyRef

    Permalink
    Definition Classes
    ScalaConverters
  3. implicit class PimpJMono[T] extends AnyRef

    Permalink
    Definition Classes
    ScalaConverters

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ++[U >: T](other: Publisher[U]): SFlux[U]

    Permalink

    Alias for SFlux.concatWith

    other

    the other Publisher sequence to concat after this SFlux

    returns

    a concatenated SFlux

    Definition Classes
    SFluxLike
  4. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  5. final def all(predicate: (T) ⇒ Boolean): SMono[Boolean]

    Permalink

    Emit a single boolean true if all values of this sequence match the given predicate.

    Emit a single boolean true if all values of this sequence match the given predicate.

    The implementation uses short-circuit logic and completes with false if the predicate doesn't match a value.

    predicate

    the predicate to match all emitted items

    returns

    a SMono of all evaluations

  6. final def any(predicate: (T) ⇒ Boolean): SMono[Boolean]

    Permalink

    Emit a single boolean true if any of the values of this SFlux sequence match the predicate.

    Emit a single boolean true if any of the values of this SFlux sequence match the predicate.

    The implementation uses short-circuit logic and completes with true if the predicate matches a value.

    predicate

    predicate tested upon values

    returns

    a new SFlux with true if any value satisfies a predicate and false otherwise

  7. final def as[U >: T, P](transformer: (SFlux[U]) ⇒ P): P

    Permalink

    Immediately apply the given transformation to this SFlux in order to generate a target type.

    Immediately apply the given transformation to this SFlux in order to generate a target type.

    flux.as(Mono::from).subscribe()

    P

    the returned type

    transformer

    the Function1 to immediately map this SFlux into a target type instance.

    returns

    a an instance of P

    See also

    SFlux.compose for a bounded conversion to Publisher

  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. final def asJava(): Flux[T]

    Permalink
  10. final def blockFirst(timeout: Duration = Duration.Inf): Option[T]

    Permalink

    Blocks until the upstream signals its first value or completes.

    Blocks until the upstream signals its first value or completes.

    returns

    the Some value or None

  11. final def blockLast(timeout: Duration = Duration.Inf): Option[T]

    Permalink

    Blocks until the upstream completes and return the last emitted value.

    Blocks until the upstream completes and return the last emitted value.

    timeout

    max duration timeout to wait for.

    returns

    the last value or None

  12. final def buffer[U >: T, C >: Buffer[U]](maxSize: Int = Int.MaxValue, bufferSupplier: () ⇒ C = () => mutable.ListBuffer.empty[U])(implicit skip: Int = maxSize): SFlux[Seq[U]]

    Permalink

    Collect incoming values into multiple Seq that will be pushed into the returned SFlux when the given max size is reached or onComplete is received.

    Collect incoming values into multiple Seq that will be pushed into the returned SFlux when the given max size is reached or onComplete is received. A new container Seq will be created every given skip count.

    When Skip > Max Size : dropping buffers

    When Skip < Max Size : overlapping buffers

    When Skip == Max Size : exact buffers

    C

    the supplied Seq type

    maxSize

    the max collected size

    bufferSupplier

    the collection to use for each data segment

    skip

    the number of items to skip before creating a new bucket

    returns

    a microbatched SFlux of possibly overlapped or gapped Seq

  13. final def bufferPublisher[U >: T, C >: Buffer[U]](other: Publisher[_], bufferSupplier: () ⇒ C = () => mutable.ListBuffer.empty[U]): SFlux[Seq[U]]

    Permalink

    Collect incoming values into multiple Seq delimited by the given Publisher signals.

    Collect incoming values into multiple Seq delimited by the given Publisher signals.

    C

    the supplied Seq type

    other

    the other Publisher to subscribe to for emitting and recycling receiving bucket

    bufferSupplier

    the collection to use for each data segment

    returns

    a microbatched SFlux of Seq delimited by a Publisher

  14. final def bufferTimeSpan(timespan: Duration, timer: Scheduler = Schedulers.parallel())(timeshift: Duration = timespan): SFlux[Seq[T]]

    Permalink
  15. final def bufferTimeout[U >: T, C >: Buffer[U]](maxSize: Int, timespan: Duration, timer: Scheduler = Schedulers.parallel(), bufferSupplier: () ⇒ C = () => mutable.ListBuffer.empty[U]): SFlux[Seq[U]]

    Permalink

    Collect incoming values into a Seq that will be pushed into the returned SFlux every timespan OR maxSize items.

    Collect incoming values into a Seq that will be pushed into the returned SFlux every timespan OR maxSize items.

    C

    the supplied Seq type

    maxSize

    the max collected size

    timespan

    the timeout to use to release a buffered list

    bufferSupplier

    the collection to use for each data segment

    returns

    a microbatched SFlux of Seq delimited by given size or a given period timeout

  16. final def bufferUntil(predicate: (T) ⇒ Boolean, cutBefore: Boolean = false): SFlux[Seq[T]]

    Permalink

    Collect incoming values into multiple Seq that will be pushed into the returned SFlux each time the given predicate returns true.

    Collect incoming values into multiple Seq that will be pushed into the returned SFlux each time the given predicate returns true. Note that the buffer into which the element that triggers the predicate to return true (and thus closes a buffer) is included depends on the cutBefore parameter: set it to true to include the boundary element in the newly opened buffer, false to include it in the closed buffer (as in SFlux.bufferUntil).

    On completion, if the latest buffer is non-empty and has not been closed it is emitted. However, such a "partial" buffer isn't emitted in case of onError termination.

    predicate

    a predicate that triggers the next buffer when it becomes true.

    cutBefore

    set to true to include the triggering element in the new buffer rather than the old.

    returns

    a microbatched SFlux of Seq

  17. final def bufferWhen[U >: T, V, W, C >: Buffer[U]](bucketOpening: Publisher[V], closeSelector: (V) ⇒ Publisher[W], bufferSupplier: () ⇒ C = () => mutable.ListBuffer.empty[U]): SFlux[Seq[U]]

    Permalink

    Collect incoming values into multiple Seq delimited by the given Publisher signals.

    Collect incoming values into multiple Seq delimited by the given Publisher signals. Each Seq bucket will last until the mapped Publisher receiving the boundary signal emits, thus releasing the bucket to the returned SFlux.

    When Open signal is strictly not overlapping Close signal : dropping buffers

    When Open signal is strictly more frequent than Close signal : overlapping buffers

    When Open signal is exactly coordinated with Close signal : exact buffers

    U

    the element type of the bucket-opening sequence

    V

    the element type of the bucket-closing sequence

    C

    the supplied Seq type

    bucketOpening

    a Publisher to subscribe to for creating new receiving bucket signals.

    closeSelector

    a Publisher factory provided the opening signal and returning a Publisher to subscribe to for emitting relative bucket.

    bufferSupplier

    the collection to use for each data segment

    returns

    a microbatched SFlux of Seq delimited by an opening Publisher and a relative closing Publisher

  18. final def bufferWhile(predicate: (T) ⇒ Boolean): SFlux[Seq[T]]

    Permalink

    Collect incoming values into multiple Seq that will be pushed into the returned SFlux.

    Collect incoming values into multiple Seq that will be pushed into the returned SFlux. Each buffer continues aggregating values while the given predicate returns true, and a new buffer is created as soon as the predicate returns false... Note that the element that triggers the predicate to return false (and thus closes a buffer) is NOT included in any emitted buffer.

    On completion, if the latest buffer is non-empty and has not been closed it is emitted. However, such a "partial" buffer isn't emitted in case of onError termination.

    predicate

    a predicate that triggers the next buffer when it becomes false.

    returns

    a microbatched SFlux of Seq

  19. final def cache(history: Int = Int.MaxValue, ttl: Duration = Duration.Inf): SFlux[T]

    Permalink

    Turn this SFlux into a hot source and cache last emitted signals for further Subscriber.

    Turn this SFlux into a hot source and cache last emitted signals for further Subscriber. Will retain up to the given history size with per-item expiry timeout.

    history

    number of events retained in history excluding complete and error

    ttl

    Time-to-live for each cached item.

    returns

    a replaying SFlux

  20. final def cancelOn(scheduler: Scheduler): SFlux[T]

    Permalink

    Prepare this SFlux so that subscribers will cancel from it on a specified Scheduler.

    Prepare this SFlux so that subscribers will cancel from it on a specified Scheduler.

    scheduler

    the Scheduler to signal cancel on

    returns

    a scheduled cancel SFlux

  21. final def cast[E](implicit classTag: ClassTag[E]): SFlux[E]

    Permalink

    Cast the current SFlux produced type into a target produced type.

    Cast the current SFlux produced type into a target produced type.

    E

    the SFlux output type

    returns

    a casted SFlux

  22. final def checkpoint(description: Option[String] = None, forceStackTrace: Option[Boolean] = None): SFlux[T]

    Permalink

    Activate assembly tracing or the lighter assembly marking depending on the forceStackTrace option.

    Activate assembly tracing or the lighter assembly marking depending on the forceStackTrace option.

    By setting the forceStackTrace parameter to true, activate assembly tracing for this particular SFlux and give it a description that will be reflected in the assembly traceback in case of an error upstream of the checkpoint. Note that unlike SFlux.checkpoint(Option[String]), this will incur the cost of an exception stack trace creation. The description could for example be a meaningful name for the assembled flux or a wider correlation ID, since the stack trace will always provide enough information to locate where this Flux was assembled.

    By setting forceStackTrace to false, behaves like SFlux.checkpoint(Option[String]) and is subject to the same caveat in choosing the description.

    It should be placed towards the end of the reactive chain, as errors triggered downstream of it cannot be observed and augmented with assembly marker.

    description

    a description (must be unique enough if forceStackTrace is set to false).

    forceStackTrace

    false to make a light checkpoint without a stacktrace, true to use a stack trace.

    returns

    the assembly marked SFlux.

  23. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def collect[E](containerSupplier: () ⇒ E, collector: (E, T) ⇒ Unit): SMono[E]

    Permalink
    Definition Classes
    SFluxLike
  25. final def collectMap[K, V](keyExtractor: (T) ⇒ K, valueExtractor: (T) ⇒ V, mapSupplier: () ⇒ Map[K, V] = () => mutable.HashMap.empty[K, V]): SMono[Map[K, V]]

    Permalink
  26. final def collectMap[K](keyExtractor: (T) ⇒ K): SMono[Map[K, T]]

    Permalink
  27. final def collectMultimap[K, V](keyExtractor: (T) ⇒ K, valueExtractor: (T) ⇒ V, mapSupplier: () ⇒ Map[K, Collection[V]] = ...): SMono[Map[K, Traversable[V]]]

    Permalink
  28. final def collectMultimap[K](keyExtractor: (T) ⇒ K): SMono[Map[K, Traversable[T]]]

    Permalink
  29. final def collectSeq(): SMono[Seq[T]]

    Permalink
  30. final def collectSortedSeq[U >: T](ordering: Ordering[U] = None.orNull): SMono[Seq[U]]

    Permalink
  31. final def concatMap[V](mapper: (T) ⇒ Publisher[_ <: V], prefetch: Int = XS_BUFFER_SIZE): SFlux[V]

    Permalink
    Definition Classes
    SFluxLike
  32. final def concatMapDelayError[V](mapper: (T) ⇒ Publisher[_ <: V], delayUntilEnd: Boolean = false, prefetch: Int = XS_BUFFER_SIZE): SFlux[V]

    Permalink
  33. final def concatMapIterable[R](mapper: (T) ⇒ Iterable[_ <: R], prefetch: Int = XS_BUFFER_SIZE): SFlux[R]

    Permalink
  34. final def concatWith[U >: T](other: Publisher[U]): SFlux[U]

    Permalink

    Concatenate emissions of this SFlux with the provided Publisher (no interleave).

    Concatenate emissions of this SFlux with the provided Publisher (no interleave).

    other

    the Publisher sequence to concat after this SFlux

    returns

    a concatenated SFlux

    Definition Classes
    SFluxLike
  35. final def count(): SMono[Long]

    Permalink
  36. final def defaultIfEmpty[U >: T](defaultV: U): SFlux[U]

    Permalink

    Provide a default unique value if this sequence is completed without any data

    Provide a default unique value if this sequence is completed without any data

    defaultV

    the alternate value if this sequence is empty

    returns

    a new SFlux

  37. final def delayElements(delay: Duration, timer: Scheduler = Schedulers.parallel()): SFlux[T]

    Permalink

    Delay each of this SFlux elements Subscriber#onNext signals) by a given duration.

    Delay each of this SFlux elements Subscriber#onNext signals) by a given duration. Signals are delayed and continue on an user-specified Scheduler, but empty sequences or immediate error signals are not delayed.

    delay

    period to delay each Subscriber#onNext signal

    timer

    a time-capable Scheduler instance to delay each signal on

    returns

    a delayed SFlux

  38. final def delaySequence(delay: Duration, timer: Scheduler = Schedulers.parallel()): SFlux[T]

    Permalink
  39. final def delaySubscription[U](subscriptionDelay: Publisher[U]): SFlux[T]

    Permalink
  40. final def delaySubscription(delay: Duration, timer: Scheduler = Schedulers.parallel()): SFlux[T]

    Permalink
  41. final def dematerialize[X](): SFlux[X]

    Permalink
  42. final def distinct[V](keySelector: (T) ⇒ V): SFlux[T]

    Permalink
  43. final def distinct(): SFlux[T]

    Permalink
  44. final def distinctUntilChanged[V](keySelector: (T) ⇒ V, keyComparator: (V, V) ⇒ Boolean = (x: V, y: V) => x == y): SFlux[T]

    Permalink
  45. final def distinctUntilChanged(): SFlux[T]

    Permalink
  46. final def doAfterTerminate(afterTerminate: () ⇒ Unit): SFlux[T]

    Permalink
  47. final def doFinally(onFinally: (SignalType) ⇒ Unit): SFlux[T]

    Permalink
  48. final def doOnCancel(onCancel: () ⇒ Unit): SFlux[T]

    Permalink
  49. final def doOnComplete(onComplete: () ⇒ Unit): SFlux[T]

    Permalink
  50. final def doOnEach(signalConsumer: (Signal[_ <: T]) ⇒ Unit): SFlux[T]

    Permalink
  51. final def doOnError(onError: (Throwable) ⇒ Unit): SFlux[T]

    Permalink
  52. final def doOnNext(onNext: (T) ⇒ Unit): SFlux[T]

    Permalink
  53. final def doOnRequest(f: (Long) ⇒ Unit): SFlux[T]

    Permalink
  54. final def doOnSubscribe(onSubscribe: (Subscription) ⇒ Unit): SFlux[T]

    Permalink
    Definition Classes
    SFluxLike
  55. final def doOnTerminate(onTerminate: () ⇒ Unit): SFlux[T]

    Permalink
  56. final def drop(n: Long): SFlux[T]

    Permalink
    Definition Classes
    SFluxLike
  57. final def elapsed(scheduler: Scheduler = Schedulers.parallel()): SFlux[(Long, T)]

    Permalink
  58. final def elementAt[U >: T](index: Int, defaultValue: Option[U] = None): SMono[U]

    Permalink
  59. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  60. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  61. final def expand[U >: T](expander: (T) ⇒ Publisher[U], capacityHint: Int = SMALL_BUFFER_SIZE): SFlux[U]

    Permalink
  62. final def expandDeep[U >: T](expander: (T) ⇒ Publisher[U], capacity: Int = SMALL_BUFFER_SIZE): SFlux[U]

    Permalink
  63. final def filter(p: (T) ⇒ Boolean): SFlux[T]

    Permalink
  64. final def filterWhen(asyncPredicate: Function1[T, _ <: MapablePublisher[Boolean]], bufferSize: Int = SMALL_BUFFER_SIZE): SFlux[T]

    Permalink
  65. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  66. final def flatMap[R](mapper: (T) ⇒ Publisher[_ <: R], maxConcurrency: Int = SMALL_BUFFER_SIZE, prefetch: Int = XS_BUFFER_SIZE, delayError: Boolean = false): SFlux[R]

    Permalink
  67. final def flatMap[R](mapperOnNext: (T) ⇒ Publisher[_ <: R], mapperOnError: (Throwable) ⇒ Publisher[_ <: R], mapperOnComplete: () ⇒ Publisher[_ <: R]): SFlux[R]

    Permalink
  68. final def flatMapIterable[R](mapper: (T) ⇒ Iterable[_ <: R], prefetch: Int = SMALL_BUFFER_SIZE): SFlux[R]

    Permalink
  69. final def flatMapSequential[R](mapper: (T) ⇒ Publisher[_ <: R], maxConcurrency: Int = SMALL_BUFFER_SIZE, prefetch: Int = XS_BUFFER_SIZE, delayError: Boolean = false): SFlux[R]

    Permalink
  70. final def flatten[S](implicit ev: <:<[T, SFlux[S]]): SFlux[S]

    Permalink
    Definition Classes
    SFluxLike
  71. final def fold[R](initial: R)(binaryOps: (R, T) ⇒ R): SMono[R]

    Permalink
    Definition Classes
    SFluxLike
  72. final def foldWith[R](initial: ⇒ R)(binaryOps: (R, T) ⇒ R): SMono[R]

    Permalink
    Definition Classes
    SFluxLike
  73. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  74. final def groupBy[K, V](keyMapper: (T) ⇒ K, valueMapper: (T) ⇒ V, prefetch: Int = SMALL_BUFFER_SIZE): SFlux[SGroupedFlux[K, V]]

    Permalink

    Divide this sequence into dynamically created SFlux (or groups) for each unique key, as produced by the provided keyMapper.

    Divide this sequence into dynamically created SFlux (or groups) for each unique key, as produced by the provided keyMapper. Source elements are also mapped to a different value using the valueMapper. Note that groupBy works best with a low cardinality of groups, so chose your keyMapper function accordingly.

    The groups need to be drained and consumed downstream for groupBy to work correctly. Notably when the criteria produces a large amount of groups, it can lead to hanging if the groups are not suitably consumed downstream (eg. due to a flatMap with a maxConcurrency parameter that is set too low).

    K

    the key type extracted from each value of this sequence

    V

    the value type extracted from each value of this sequence

    keyMapper

    the key mapping function that evaluates an incoming data and returns a key.

    valueMapper

    the value mapping function that evaluates which data to extract for re-routing.

    prefetch

    the number of values to prefetch from the source

    returns

    a SFlux of SGroupedFlux grouped sequences

  75. final def groupBy[K](keyMapper: (T) ⇒ K): SFlux[SGroupedFlux[K, _ <: T]]

    Permalink
  76. final def handle[R](handler: (T, SynchronousSink[R]) ⇒ Unit): SFlux[R]

    Permalink

    Handle the items emitted by this SFlux by calling a biconsumer with the output sink for each onNext.

    Handle the items emitted by this SFlux by calling a biconsumer with the output sink for each onNext. At most one SynchronousSink.next(Anyref) call must be performed and/or 0 or 1 SynchronousSink.error(Throwable) or SynchronousSink.complete().

    R

    the transformed type

    handler

    the handling Function2

    returns

    a transformed SFlux

  77. final def hasElement[U >: T](value: U): SMono[Boolean]

    Permalink
  78. final def hasElements: SMono[Boolean]

    Permalink
  79. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  80. final def head: SMono[T]

    Permalink
    Definition Classes
    SFluxLike
  81. final def ignoreElements(): SMono[T]

    Permalink
  82. final def index[I](indexMapper: (Long, T) ⇒ I): SFlux[I]

    Permalink
  83. final def index(): SFlux[(Long, T)]

    Permalink
  84. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  85. final def last[U >: T](defaultValue: Option[U] = None): SMono[U]

    Permalink
  86. final def log(category: String = None.orNull[String]): SFlux[T]

    Permalink

    Observe all Reactive Streams signals and use Logger support to handle trace implementation.

    Observe all Reactive Streams signals and use Logger support to handle trace implementation. Default will use Level.INFO and java.util.logging. If SLF4J is available, it will be used instead.

    The default log category will be "reactor.*", a generated operator suffix will complete, e.g. "reactor.Flux.Map".

    returns

    a new unaltered SFlux

  87. final def map[V](mapper: (T) ⇒ V): SFlux[V]

    Permalink

    Transform the items emitted by this SFlux by applying a synchronous function to each item.

    Transform the items emitted by this SFlux by applying a synchronous function to each item.

    V

    the transformed type

    mapper

    the synchronous transforming Function1

    returns

    a transformed { @link Flux}

    Definition Classes
    SFluxMapablePublisher
  88. final def materialize(): SFlux[Signal[_ <: T]]

    Permalink
  89. final def max[R >: T](implicit ev: Ordering[R]): SMono[Option[R]]

    Permalink
    Definition Classes
    SFluxLike
  90. final def mergeWith[U >: T](other: Publisher[U]): SFlux[U]

    Permalink
  91. final def metrics: SFlux[T]

    Permalink

    Activate metrics for this sequence, provided there is an instrumentation facade on the classpath (otherwise this method is a pure no-op).

    Activate metrics for this sequence, provided there is an instrumentation facade on the classpath (otherwise this method is a pure no-op).

    Metrics are gathered on Subscriber events, and it is recommended to also name (and optionally tag) the sequence.

    returns

    an instrumented SFlux

  92. final def min[R >: T](implicit ev: Ordering[R]): SMono[Option[R]]

    Permalink
    Definition Classes
    SFluxLike
  93. final def name(name: String): SFlux[T]

    Permalink
  94. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  95. final def next(): SMono[T]

    Permalink
  96. final def nonEmpty: SMono[Boolean]

    Permalink
  97. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  98. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  99. final def ofType[U](implicit classTag: ClassTag[U]): SFlux[U]

    Permalink
  100. final def onBackpressureBuffer(maxSize: Int, onBufferOverflow: (T) ⇒ Unit, bufferOverflowStrategy: BufferOverflowStrategy): SFlux[T]

    Permalink
  101. final def onBackpressureBuffer(maxSize: Int, bufferOverflowStrategy: BufferOverflowStrategy): SFlux[T]

    Permalink
  102. final def onBackpressureBuffer(maxSize: Int, onOverflow: (T) ⇒ Unit): SFlux[T]

    Permalink
  103. final def onBackpressureBuffer(maxSize: Int): SFlux[T]

    Permalink
  104. final def onBackpressureBuffer(): SFlux[T]

    Permalink
  105. final def onBackpressureDrop(onDropped: (T) ⇒ Unit): SFlux[T]

    Permalink
  106. final def onBackpressureDrop(): SFlux[T]

    Permalink
  107. final def onBackpressureError(): SFlux[T]

    Permalink
  108. final def onBackpressureLatest(): SFlux[T]

    Permalink
  109. final def onErrorMap(mapper: Function1[Throwable, _ <: Throwable]): SFlux[T]

    Permalink
  110. final def onErrorRecover[U >: T](pf: PartialFunction[Throwable, U]): SFlux[U]

    Permalink
    Definition Classes
    SFluxLike
  111. final def onErrorRecoverWith[U >: T](pf: PartialFunction[Throwable, SFlux[U]]): SFlux[U]

    Permalink
    Definition Classes
    SFluxLike
  112. final def onErrorResume[U >: T](fallback: (Throwable) ⇒ Publisher[U]): SFlux[U]

    Permalink
    Definition Classes
    SFluxLike
  113. final def onErrorReturn[U >: T](fallbackValue: U, predicate: (Throwable) ⇒ Boolean = (_: Throwable ) => true): SFlux[U]

    Permalink
  114. final def or[U >: T](other: Publisher[U]): SFlux[U]

    Permalink
  115. final def parallel(parallelism: Int = ..., prefetch: Int = Queues.SMALL_BUFFER_SIZE): SParallelFlux[T]

    Permalink

    Prepare to consume this SFlux on number of 'rails' matching number of CPU in round-robin fashion.

    Prepare to consume this SFlux on number of 'rails' matching number of CPU in round-robin fashion.

    parallelism

    the number of parallel rails

    prefetch

    the number of values to prefetch from the source

    returns

    a new SParallelFlux instance

  116. final def product[R >: T](implicit R: Numeric[R]): SMono[R]

    Permalink

    Multiple all element within this SFlux given the type element is Numeric

    Multiple all element within this SFlux given the type element is Numeric

    R

    Numeric

    returns

    SMono with the result of all element multiplied.

    Definition Classes
    SFluxLike
  117. final def publish(prefetch: Int = Queues.SMALL_BUFFER_SIZE): ConnectableSFlux[T]

    Permalink

    Prepare a ConnectableSFlux which shares this SFlux sequence and dispatches values to subscribers in a backpressure-aware manner.

    Prepare a ConnectableSFlux which shares this SFlux sequence and dispatches values to subscribers in a backpressure-aware manner. This will effectively turn any type of sequence into a hot sequence.

    Backpressure will be coordinated on org.reactivestreams.Subscription.request and if any Subscriber is missing demand (requested = 0), multicast will pause pushing/pulling.

    prefetch

    bounded requested demand

    returns

    a new ConnectableSFlux

  118. final def publishNext(): SMono[T]

    Permalink

    Prepare a SMono which shares this SFlux sequence and dispatches the first observed item to subscribers in a backpressure-aware manner.

    Prepare a SMono which shares this SFlux sequence and dispatches the first observed item to subscribers in a backpressure-aware manner. This will effectively turn any type of sequence into a hot sequence when the first Subscriber subscribes.

    returns

    a new SMono

  119. final def reduce[U >: T](aggregator: (U, U) ⇒ U): SMono[U]

    Permalink
  120. final def reduce[A](initial: A)(accumulator: (A, T) ⇒ A): SMono[A]

    Permalink
    Definition Classes
    SFluxLike
  121. final def repeat(numRepeat: Long = Long.MaxValue, predicate: () ⇒ Boolean = () => true): SFlux[T]

    Permalink
  122. final def retry(numRetries: Long = Long.MaxValue, retryMatcher: (Throwable) ⇒ Boolean = (_: Throwable) => true): SFlux[T]

    Permalink
  123. final def retryWhen(retry: Retry): SFlux[T]

    Permalink

    Retries this SFlux in response to signals emitted by a companion Publisher.

    Retries this SFlux in response to signals emitted by a companion Publisher. The companion is generated by the provided Retry instance, see Retry#max(long), Retry#maxInARow(long) and Duration) for readily available strategy builders.

    The operator generates a base for the companion, a SFlux of reactor.util.retry.Retry.RetrySignal which each give metadata about each retryable failure whenever this SFlux signals an error. The final companion should be derived from that base companion and emit data in response to incoming onNext (although it can emit less elements, or delay the emissions).

    Terminal signals in the companion terminate the sequence with the same signal, so emitting an Subscriber#onError(Throwable) will fail the resulting SFlux with that same error.

    Note that the Retry.RetrySignal state can be transient and change between each source onError or onNext. If processed with a delay, this could lead to the represented state being out of sync with the state at which the retry was evaluated. Map it to Retry.RetrySignal#copy() right away to mediate this.

    Note that if the companion Publisher created by the whenFactory emits reactor.util.context.Context as trigger objects, these reactor.util.context.Context will be merged with the previous Context:

    
    Retry customStrategy = Retry.fromFunction(companion -> companion.handle((retrySignal, sink) -> {
    	    Context ctx = sink.currentContext();
    	    int rl = ctx.getOrDefault("retriesLeft", 0);
    	    if (rl > 0) {
    	    sink.next(Context.of(
    	        "retriesLeft", rl - 1,
    	        "lastError", retrySignal.failure()
    	    ));
    	     else {
    	        sink.error(Exceptions.retryExhausted("retries exhausted", retrySignal.failure()));
    }
    }));
    Flux retried = originalFlux.retryWhen(customStrategy);
    }
    

    returns

    a { @link Flux} that retries on onError when a companion { @link Publisher} produces an onNext signal

    See also

    Retry.backoff(long, Duration)

    Retry.maxInARow(long)

    Retry.max(long)

  124. final def sample(timespan: Duration): SFlux[T]

    Permalink

    Sample this SFlux by periodically emitting an item corresponding to that SFlux latest emitted value within the periodical time window.

    Sample this SFlux by periodically emitting an item corresponding to that SFlux latest emitted value within the periodical time window. Note that if some elements are emitted quicker than the timespan just before source completion, the last of these elements will be emitted along with the onComplete signal.

    timespan

    the duration of the window after which to emit the latest observed item

    returns

    a SFlux sampled to the last item seen over each periodic window

  125. final def sampleFirst(timespan: Duration): SFlux[T]

    Permalink

    Repeatedly take a value from this SFlux then skip the values that follow within a given duration.

    Repeatedly take a value from this SFlux then skip the values that follow within a given duration.

    timespan

    the duration during which to skip values after each sample

    returns

    a SFlux sampled to the first item of each duration-based window

  126. final def scan[A](initial: A)(accumulator: (A, T) ⇒ A): SFlux[A]

    Permalink

    Reduce this SFlux values with an accumulator Function2 and also emit the intermediate results of this function.

    Reduce this SFlux values with an accumulator Function2 and also emit the intermediate results of this function.

    The accumulation works as follows:

    
    result[0] = initialValue;
    result[1] = accumulator(result[0], source[0])
    result[2] = accumulator(result[1], source[1])
    result[3] = accumulator(result[2], source[2])
    ...
    
    

    A

    the accumulated type

    initial

    the initial value

    returns

    an accumulating SFlux starting with initial state

  127. final def scan[U >: T](accumulator: (U, U) ⇒ U): SFlux[U]

    Permalink

    Reduce this SFlux values with an accumulator Function2 and also emit the intermediate results of this function.

    Reduce this SFlux values with an accumulator Function2 and also emit the intermediate results of this function.

    Unlike Function2), this operator doesn't take an initial value but treats the first SFlux value as initial value.
    The accumulation works as follows:

    
    result[0] = source[0]
    result[1] = accumulator(result[0], source[1])
    result[2] = accumulator(result[1], source[2])
    result[3] = accumulator(result[2], source[3])
    ...
    
    

    accumulator

    the accumulating Function2

    returns

    an accumulating SFlux

  128. final def scanWith[A](initial: ⇒ A)(accumulator: (A, T) ⇒ A): SFlux[A]

    Permalink

    Reduce this SFlux values with an accumulator Function2 and also emit the intermediate results of this function.

    Reduce this SFlux values with an accumulator Function2 and also emit the intermediate results of this function.

    The accumulation works as follows:

    
    result[0] = initialValue;
    result[1] = accumulator(result[0], source[0])
    result[2] = accumulator(result[1], source[1])
    result[3] = accumulator(result[2], source[2])
    ...
    
    

    A

    the accumulated type

    initial

    the initial value computation

    accumulator

    the accumulating Function2

    returns

    an accumulating SFlux starting with initial state

  129. final def single[U >: T](defaultValue: Option[U] = None): SMono[U]

    Permalink
  130. final def singleOrEmpty(): SMono[T]

    Permalink
  131. final def skip(timespan: Duration, timer: Scheduler = Schedulers.parallel): SFlux[T]

    Permalink
  132. final def skip(skipped: Long): SFlux[T]

    Permalink
    Definition Classes
    SFluxLike
  133. final def skipLast(n: Int): SFlux[T]

    Permalink
  134. final def skipUntil(untilPredicate: (T) ⇒ Boolean): SFlux[T]

    Permalink
  135. final def skipWhile(skipPredicate: (T) ⇒ Boolean): SFlux[T]

    Permalink
  136. final def sort[U >: T](sortFunction: Ordering[U]): SFlux[U]

    Permalink
  137. final def sort(): SFlux[T]

    Permalink
  138. final def startWith[U >: T](publisher: Publisher[U]): SFlux[U]

    Permalink

    Prepend the given Publisher sequence to this SFlux sequence.

    Prepend the given Publisher sequence to this SFlux sequence.

    publisher

    the Publisher whose values to prepend

    returns

    a new SFlux prefixed with the given Publisher sequence

  139. final def startWith[U >: T](value: U, values: U*): SFlux[U]

    Permalink
  140. final def startWith[U >: T](iterable: Iterable[U]): SFlux[T]

    Permalink
  141. final def subscribe(): Disposable

    Permalink

    Subscribe to this SFlux and request unbounded demand.

    Subscribe to this SFlux and request unbounded demand.

    This version doesn't specify any consumption behavior for the events from the chain, especially no error handling, so other variants should usually be preferred.

    returns

    a new Disposable that can be used to cancel the underlying org.reactivestreams.Subscription

  142. final def subscribe(consumer: (T) ⇒ Unit, errorConsumer: Option[(Throwable) ⇒ Unit] = None, completeConsumer: Option[Runnable] = None): Disposable

    Permalink

    Subscribe a consumer to this SFlux that will consume all the sequence.

    Subscribe a consumer to this SFlux that will consume all the sequence. It will request an unbounded demand.

    For a passive version that observe and forward incoming data see SFlux.doOnNext.

    For a version that gives you more control over backpressure and the request, see SFlux.subscribe with a reactor.core.publisher.BaseSubscriber.

    consumer

    the consumer to invoke on each value

    errorConsumer

    the consumer to invoke on error signal

    completeConsumer

    the consumer to invoke on complete signal

    returns

    a new Disposable to dispose the org.reactivestreams.Subscription

  143. def subscribe(s: Subscriber[_ >: T]): Unit

    Permalink
    Definition Classes
    SFlux → Publisher
  144. final def sum[R >: T](implicit R: Numeric[R]): SMono[R]

    Permalink
    Definition Classes
    SFluxLike
  145. final def switchIfEmpty[U >: T](alternate: Publisher[U]): SFlux[U]

    Permalink

    Provide an alternative if this sequence is completed without any data

    Provide an alternative if this sequence is completed without any data

    alternate

    the alternate publisher if this sequence is empty

    returns

    an alternating SFlux on source onComplete without elements

  146. final def switchMap[V](fn: (T) ⇒ Publisher[_ <: V], prefetch: Int = XS_BUFFER_SIZE): SFlux[V]

    Permalink
  147. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  148. final def tag(key: String, value: String): SFlux[T]

    Permalink
  149. final def tail: SFlux[T]

    Permalink

    Alias for skip(1)

    Alias for skip(1)

    Definition Classes
    SFluxLike
  150. final def take(timespan: Duration, timer: Scheduler = Schedulers.parallel): SFlux[T]

    Permalink
  151. final def take(n: Long): SFlux[T]

    Permalink
    Definition Classes
    SFluxLike
  152. final def takeLast(n: Int): SFlux[T]

    Permalink
  153. final def takeUntil(predicate: (T) ⇒ Boolean): SFlux[T]

    Permalink
  154. final def takeWhile(continuePredicate: (T) ⇒ Boolean): SFlux[T]

    Permalink
  155. final def then(): SMono[Unit]

    Permalink
  156. final def thenEmpty(other: MapablePublisher[Unit]): SMono[Unit]

    Permalink
  157. final def thenMany[V](other: Publisher[V]): SFlux[V]

    Permalink
  158. final def timeout[U >: T, V, W](firstTimeout: Publisher[V], nextTimeoutFactory: (U) ⇒ Publisher[W], fallback: Publisher[U]): SFlux[U]

    Permalink
  159. final def timeout[U, V](firstTimeout: Publisher[U], nextTimeoutFactory: (T) ⇒ Publisher[V]): SFlux[T]

    Permalink
  160. final def timeout[U](firstTimeout: Publisher[U]): SFlux[T]

    Permalink
  161. final def timeout[U >: T](timeout: Duration, fallback: Option[Publisher[U]]): SFlux[U]

    Permalink
  162. final def timeout(timeout: Duration): SFlux[T]

    Permalink
  163. final def toIterable[U >: T](batchSize: Int = SMALL_BUFFER_SIZE, queueProvider: Option[Supplier[Queue[U]]] = None): Iterable[U]

    Permalink
  164. final def toStream(batchSize: Int = SMALL_BUFFER_SIZE): Stream[T]

    Permalink
  165. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  166. final def transform[U >: T, V](transformer: (SFlux[U]) ⇒ Publisher[V]): SFlux[V]

    Permalink
  167. final def transformDeferred[V](transformer: (SFlux[T]) ⇒ Publisher[V]): SFlux[V]

    Permalink
  168. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  169. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  170. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  171. final def withLatestFrom[U, R](other: Publisher[_ <: U], resultSelector: Function2[T, U, _ <: R]): SFlux[R]

    Permalink
  172. final def zipWith[T2](source2: Publisher[_ <: T2], prefetch: Int = XS_BUFFER_SIZE): SFlux[(T, T2)]

    Permalink
  173. final def zipWithCombinator[T2, V](source2: Publisher[_ <: T2], prefetch: Int = XS_BUFFER_SIZE)(combinator: (T, T2) ⇒ V): SFlux[V]

    Permalink
  174. final def zipWithIterable[T2, V](iterable: Iterable[_ <: T2], zipper: Function2[T, T2, _ <: V]): SFlux[V]

    Permalink
  175. final def zipWithIterable[T2](iterable: Iterable[_ <: T2]): SFlux[(T, T2)]

    Permalink
  176. final def zipWithTimeSinceSubscribe(): SFlux[(T, Long)]

    Permalink
    Definition Classes
    SFluxLike

Deprecated Value Members

  1. final def compose[V](transformer: (SFlux[T]) ⇒ Publisher[V]): SFlux[V]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version reactor-scala-extensions 0.5.0) will be removed, use transformDeferred() instead

  2. final def reduceWith[A](initial: () ⇒ A, accumulator: (A, T) ⇒ A): SMono[A]

    Permalink
    Annotations
    @deprecated
    Deprecated

    Use foldWith instead

  3. final def retryWhen(whenFactory: (SFlux[Throwable]) ⇒ Publisher[_]): SFlux[T]

    Permalink
    Annotations
    @deprecated
    Deprecated

    Use retryWhen(Retry)

Inherited from MapablePublisher[T]

Inherited from Publisher[T @scala.annotation.unchecked.uncheckedVariance]

Inherited from SFluxLike[T]

Inherited from ScalaConverters

Inherited from AnyRef

Inherited from Any

Ungrouped