object Consumer extends Serializable
- Alphabetic
- By Inheritance
- Consumer
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
Sync
[-In, +R] extends Consumer[In, R]
Defines a synchronous Consumer that builds synchronous subscribers.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
cancel[A]: Sync[A, Unit]
A consumer that immediately cancels its upstream after subscription.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
complete[A]: Sync[A, Unit]
A simple consumer that consumes all elements of the stream and then signals its completion.
-
def
create[In, Out](f: (Scheduler, Cancelable, Callback[Out]) ⇒ Observer[In]): Consumer[In, Out]
Creates a Consumer out of the given function.
Creates a Consumer out of the given function.
The function returns an Observer and takes as input:
- a Scheduler for any asynchronous execution needs the returned observer might have
- a Cancelable that can be used for
concurrently canceling the stream (in addition to being able to
return
Stop
fromonNext
) - a Callback that must be called to signal the final result, after the observer finished processing the stream, or an error if the processing finished in error
- f
is the input function with an injected
Scheduler
,Cancelable
,Callback
and that returns anObserver
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
firstNotification[A]: Sync[A, Notification[A]]
A consumer that will produce a Notification of the first value received (
onNext
,onComplete
oronError
), after which the streaming gets cancelled.A consumer that will produce a Notification of the first value received (
onNext
,onComplete
oronError
), after which the streaming gets cancelled.- OnNext will be signaled on the first
onNext
event if it happens and the streaming will be stopped byStop
. - OnComplete will be signaled if the stream
was empty and thus completed without any
onNext
. - OnError will be signaled if the stream
was completed in error before the first
onNext
happened.
- OnNext will be signaled on the first
-
def
foldLeft[S, A](initial: ⇒ S)(f: (S, A) ⇒ S): Sync[A, S]
Given a fold function and an initial state value, applies the fold function to every element of the stream and finally signaling the accumulated value.
Given a fold function and an initial state value, applies the fold function to every element of the stream and finally signaling the accumulated value.
- initial
is a lazy value that will be fed at first in the fold function as the initial state.
- f
is the function that calculates a new state on each emitted value by the stream, for accumulating state
-
def
foldLeftAsync[S, A](initial: ⇒ S)(f: (S, A) ⇒ Task[S]): Consumer[A, S]
Given a fold function and an initial state value, applies the fold function to every element of the stream and finally signaling the accumulated value.
Given a fold function and an initial state value, applies the fold function to every element of the stream and finally signaling the accumulated value.
The given fold function returns a
Task
that can execute an asynchronous operation, with ordering of calls being guaranteed.- initial
is a lazy value that will be fed at first in the fold function as the initial state.
- f
is the function that calculates a new state on each emitted value by the stream, for accumulating state, returning a
Task
capable of asynchronous execution.
-
def
foreach[A](cb: (A) ⇒ Unit): Sync[A, Unit]
Builds a consumer that will consume the stream, applying the given function to each element and then finally signaling its completion.
Builds a consumer that will consume the stream, applying the given function to each element and then finally signaling its completion.
- cb
is the function that will be called for each element
-
def
foreachAsync[A](cb: (A) ⇒ Task[Unit]): Consumer[A, Unit]
Builds a consumer that will consume the stream, applying the given function to each element and then finally signaling its completion.
Builds a consumer that will consume the stream, applying the given function to each element and then finally signaling its completion.
The given callback function returns a
Task
that can execute an asynchronous operation, with ordering of calls being guaranteed.- cb
is the function that will be called for each element
-
def
foreachParallel[A](parallelism: Int)(cb: (A) ⇒ Unit): Consumer[A, Unit]
Builds a consumer that will consume the stream, applying the given function to each element, in parallel, then finally signaling its completion.
Builds a consumer that will consume the stream, applying the given function to each element, in parallel, then finally signaling its completion.
- parallelism
is the maximum number of (logical) threads to use
- cb
is the function that will be called for each element
-
def
foreachParallelAsync[A](parallelism: Int)(cb: (A) ⇒ Task[Unit]): Consumer[A, Unit]
Builds a consumer that will consume the stream, applying the given function to each element, in parallel, then finally signaling its completion.
Builds a consumer that will consume the stream, applying the given function to each element, in parallel, then finally signaling its completion.
The given callback function returns a
Task
that can execute an asynchronous operation, with ordering of calls being guaranteed per subscriber.- parallelism
is the maximum number of (logical) threads to use
- cb
is the function that will be called for each element
-
def
fromObserver[In](f: (Scheduler) ⇒ Observer[In]): Consumer[In, Unit]
Given a function taking a
Scheduler
and returning an Observer, builds a consumer from it.Given a function taking a
Scheduler
and returning an Observer, builds a consumer from it.You can use the
Scheduler
as the execution context, for working withFuture
, for forcing asynchronous boundaries or for executing tasks with a delay. -
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
head[A]: Sync[A, A]
A consumer that will produce the first streamed value on
onNext
after which the streaming gets cancelled.A consumer that will produce the first streamed value on
onNext
after which the streaming gets cancelled.In case the stream is empty and so no
onNext
happen beforeonComplete
, then the aNoSuchElementException
will get triggered. -
def
headOption[A]: Sync[A, Option[A]]
A consumer that will produce the first streamed value on
onNext
after which the streaming gets cancelled.A consumer that will produce the first streamed value on
onNext
after which the streaming gets cancelled.In case the stream is empty and so no
onNext
happen beforeonComplete
, then the aNoSuchElementException
will get triggered. -
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
loadBalance[A, R](consumers: Consumer[A, R]*): Consumer[A, List[R]]
Creates a consumer that, when consuming the stream, will start multiple subscribers corresponding and distribute the load between them.
Creates a consumer that, when consuming the stream, will start multiple subscribers corresponding and distribute the load between them.
Once each subscriber emits a final result, this consumer will return a list of aggregated results.
Has the following rules:
- items are pushed on free subscribers, respecting their contract, each item being pushed to the first available subscriber in the queue
- in case no free subscribers are available, then the source gets back-pressured until free subscribers are available
- in case of
onComplete
oronError
, all subscribers that are still active will receive the event - the
onSuccess
callback of individual subscribers is aggregated in a list buffer and once the aggregate contains results from all subscribers, the load-balancing consumer will emit the aggregate - the
onError
callback triggered by individual subscribers will signal that error upstream and cancel the streaming for every other subscriber - in case any of the subscribers cancels its subscription
(either returning
Stop
inonNext
or canceling its assigned cancelable), it gets excluded from the pool of active subscribers, but the other active subscribers will still receive notifications - if all subscribers canceled (either by returning
Stop
or by canceling their assignable cancelable reference), then streaming stops as well
In other words the
Task
, created by applying this consumer to an observable, will complete once all the subscribers emit a result or as soon as an error happens.- consumers
is a list of consumers that will initialize the subscribers that will process events in parallel, with the parallelism factor being equal to the number of consumers specified in this list.
- returns
a list of aggregated results that were computed by all of the subscribers as their result
-
def
loadBalance[A, R](parallelism: Int, consumer: Consumer[A, R]): Consumer[A, List[R]]
Creates a consumer that, when consuming the stream, will start multiple subscribers corresponding and distribute the load between them.
Creates a consumer that, when consuming the stream, will start multiple subscribers corresponding and distribute the load between them.
Once each subscriber emits a final result, this consumer will return a list of aggregated results.
Has the following rules:
- items are pushed on free subscribers, respecting their contract, each item being pushed to the first available subscriber in the queue
- in case no free subscribers are available, then the source gets back-pressured until free subscribers are available
- in case of
onComplete
oronError
, all subscribers that are still active will receive the event - the
onSuccess
callback of individual subscribers is aggregated in a list buffer and once the aggregate contains results from all subscribers, the load-balancing consumer will emit the aggregate - the
onError
callback triggered by individual subscribers will signal that error upstream and cancel the streaming for every other subscriber - in case any of the subscribers cancels its subscription
(either returning
Stop
inonNext
or canceling its assigned cancelable), it gets excluded from the pool of active subscribers, but the other active subscribers will still receive notifications - if all subscribers canceled (either by returning
Stop
or by canceling their assignable cancelable reference), then streaming stops as well
In other words the
Task
, created by applying this consumer to an observable, will complete once all the subscribers emit a result or as soon as an error happens.- parallelism
is the number of subscribers that will get initialized to process incoming events in parallel.
- consumer
is the subscriber factory that will initialize all needed subscribers, in number equal to the specified parallelism and thus that will be fed in parallel
- returns
a list of aggregated results that were computed by all of the subscribers as their result
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
raiseError[In, R](ex: Throwable): Sync[In, R]
A consumer that triggers an error and immediately cancels its upstream after subscription.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
This is the API documentation for the Monix library.
Package Overview
monix.execution exposes lower level primitives for dealing with asynchronous execution:
Atomic
types, as alternative tojava.util.concurrent.atomic
monix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observable
pattern:Observable
implementationsmonix.types implements type-class shims, to be translated to type-classes provided by libraries such as Cats or Scalaz.
monix.cats is the optional integration with the Cats library, providing translations for the types described in
monix.types
.monix.scalaz is the optional integration with the Scalaz library, providing translations for the types described in
monix.types
.