package reactive
- Alphabetic
- Public
- All
Type Members
- abstract class Consumer[-In, +R] extends (Observable[In]) => Task[R] with Serializable
The
Consumer
is a specification of how to consume an observable.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.
- sealed abstract class MulticastStrategy[+A] extends Serializable
The
MulticastStrategy
specifies the strategy for building data-sources that are shared between multiple subscribers.The
MulticastStrategy
specifies the strategy for building data-sources that are shared between multiple subscribers.By default observables tend to be cold.
- sealed abstract class Notification[+A] extends Serializable
Used by Observable.materialize.
- abstract class Observable[+A] extends Serializable
The
Observable
type that implements the Reactive Pattern.The
Observable
type that implements the Reactive Pattern.Provides methods of subscribing to the Observable and operators for combining observable sources, filtering, modifying, throttling, buffering, error handling and others.
See the available documentation at: https://monix.io
- trait ObservableLike[F[_]] extends ~>[F, Observable]
A lawless type class that provides conversions to Observable.
A lawless type class that provides conversions to Observable.
Sample:
// Conversion from cats.Eval import cats.Eval val source0 = Eval.always(1 + 1) val task0 = ObservableLike[Eval].apply(source0) // Conversion from Future import scala.concurrent.Future val source1 = Future.successful(1 + 1) val task1 = ObservableLike[Future].apply(source1) // Conversion from IO import cats.effect.IO val source2 = IO(1 + 1) val task2 = ObservableLike[IO].apply(source2)
See Observable.from
- Annotations
- @implicitNotFound("""Cannot find implicit value for ObservableLike[${F}].
Building this implicit value might depend on having an implicit
s.c.ExecutionContext in scope, a Scheduler or some equivalent type.""")
- trait Observer[-A] extends Serializable
The Observer from the Rx pattern is the trio of callbacks that get subscribed to an Observable for receiving events.
The Observer from the Rx pattern is the trio of callbacks that get subscribed to an Observable for receiving events.
The events received must follow the Rx grammar, which is: onNext * (onComplete | onError)?
That means an Observer can receive zero or multiple events, the stream ending either in one or zero
onComplete
oronError
(just one, not both), and after onComplete or onError, a well behavedObservable
implementation shouldn't send any more onNext events. - sealed abstract class OverflowStrategy[+A] extends Serializable
Represents the buffering overflowStrategy chosen for actions that need buffering, instructing the pipeline what to do when the buffer is full.
Represents the buffering overflowStrategy chosen for actions that need buffering, instructing the pipeline what to do when the buffer is full.
For the available policies, see:
- Unbounded - Fail - BackPressure
Used in BufferedSubscriber to implement buffering when concurrent actions are needed, such as in Channels or in Observable.merge.
- abstract class Pipe[I, +O] extends Serializable
Represents a factory for an input/output channel for broadcasting input to multiple subscribers.
Value Members
- object Consumer extends Serializable
The companion object of Consumer, defines consumer builders.
- object MulticastStrategy extends Serializable
The MulticastStrategy enumerated.
- object Notification extends Serializable
- object Observable extends ObservableDeprecatedBuilders with Serializable
Observable builders.
- object ObservableLike extends ObservableLikeImplicits0 with Serializable
- object Observer extends Serializable
- object OverflowStrategy extends Serializable
- object Pipe extends Serializable
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.catnap exposes pure abstractions built on top of the Cats-Effect type classes:
monix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observable
pattern:Observable
implementationsmonix.tail exposes Iterant for purely functional pull based streaming:
Batch
andBatchCursor
, the alternatives to Scala'sIterable
andIterator
respectively that we are using within Iterant's encodingYou can control evaluation with type you choose - be it Task, Coeval, cats.effect.IO or your own as long as you provide correct cats-effect or cats typeclass instance.