Packages

trait Sync[-In, +R] extends Consumer[In, R]

Defines a synchronous Consumer that builds synchronous subscribers.

Source
Consumer.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Sync
  2. Consumer
  3. Serializable
  4. Function1
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def createSubscriber(cb: Callback[Throwable, R], s: Scheduler): (observers.Subscriber.Sync[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.

    Definition Classes
    SyncConsumer

Concrete Value Members

  1. def andThen[A](g: (Task[R]) => A): (Observable[In]) => A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  2. 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
  3. def compose[A](g: (A) => Observable[In]): (A) => Task[R]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  4. final def contramap[In2](f: (In2) => In): Consumer[In2, R]

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

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

    Definition Classes
    Consumer
  5. 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.

    Definition Classes
    Consumer
    See also

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

  6. 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.

    Definition Classes
    Consumer
  7. 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.

    Definition Classes
    Consumer
  8. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  9. 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.

    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.

    Definition Classes
    Consumer