Packages

abstract class Consumer[-In, +R] extends (Observable[In]) => Task[R] with Serializable

The Consumer is a specification of how to consume an observable.

It is a factory of subscribers with a completion callback attached, being effectively a way to transform observables into tasks for less error prone consuming of streams.

Self Type
Consumer[In, R]
Source
Consumer.scala
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Consumer
  2. Serializable
  3. Function1
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Consumer()

Abstract Value Members

  1. abstract def createSubscriber(cb: Callback[Throwable, R], s: Scheduler): (Subscriber[In], AssignableCancelable)

    Builds a new Subscriber that can be subscribed to an Observable for consuming a stream, with a callback that should eventually get called with a materialized result.

    Builds a new Subscriber that can be subscribed to an Observable for consuming a stream, with a callback that should eventually get called with a materialized result.

    Notes:

    • calling the callback must obey the contract for the Callback type
    • the given callback should always get called, unless the upstream gets canceled
    • the given callback can be called when the subscriber is finished processing, but not necessarily
    • if the given callback isn't called after the subscriber is done processing, then the Task returned by apply loses the ability to cancel the stream, as that Task will complete before the stream is finished
    cb

    is the Callback that will get called once the created subscriber is finished.

    s

    is the Scheduler that will get used for subscribing to the source observable and to process the events.

    returns

    a new subscriber that can be used to consume observables.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (Task[R]) => A): (Observable[In]) => A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. final def apply(source: Observable[In]): Task[R]

    Given a source Observable, convert it into a Task by piggybacking on createSubscriber.

    Given a source Observable, convert it into a Task by piggybacking on createSubscriber.

    Definition Classes
    Consumer → Function1
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. def compose[A](g: (A) => Observable[In]): (A) => Task[R]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  9. final def contramap[In2](f: (In2) => In): Consumer[In2, R]

    Given a contravariant mapping function, transform the source consumer by transforming the input.

  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def map[R2](f: (R) => R2): Consumer[In, R2]

    Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.

    Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.

    Note that for applying the mapping function an asynchronous boundary is forced, otherwise it could trigger a stack overflow exception. For more efficient mapping of the result, it's probably better to map the resulting Task on Observable.consumeWith.

    See also

    mapTask for a variant that can map the output to a Task that can be processed asynchronously.

  16. final def mapEval[F[_], R2](f: (R) => F[R2])(implicit F: TaskLike[F]): Consumer[In, R2]

    Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.

    Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.

    The mapping function returns results using a generic F[_] data type that must implement the cats.effect.Effect type class. Examples of such classes are cats.effect.IO and monix.eval.Task, thus being able to do asynchronous processing.

    See mapTask for the version that's specialized on Task.

  17. final def mapTask[R2](f: (R) => Task[R2]): Consumer[In, R2]

    Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.

    Given a mapping function, when consuming a stream, applies the mapping function to the final result, thus modifying the output of the source consumer.

    The mapping function returns a Task that can be used to process results asynchronously.

    Note that for applying the mapping function an asynchronous boundary is forced, otherwise it could trigger a stack overflow exception. For more efficient mapping of the result, it's probably better to map the resulting Task on Observable.consumeWith.

    See mapEval for the version that can work with any data type that implements cats.effect.Effect.

  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  23. final def transformInput[In2](f: (Observable[In2]) => Observable[In]): Consumer[In2, R]

    Given a function that transforms the input stream, uses it to transform the source consumer into one that accepts events of the type specified by the transformation function.

  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from (Observable[In]) => Task[R]

Inherited from AnyRef

Inherited from Any

Ungrouped