A CachedObservable
is an observable that wraps a regular
Observable, initiating the connection on the first
subscribe()
and then staying connected for as long as
the source is emitting.
A StackedObservable
is an Observable type used in operators that
end up being used in loops and that need to be memory safe
(e.g.
A StackedObservable
is an Observable type used in operators that
end up being used in loops and that need to be memory safe
(e.g. ++
, suspend
).
This is achieved with the same trick used in the monix.eval.Task
implementation. The problem with recursive operators is that they
are leaving work behind due to the need to return a Cancelable
and thus leak memory.
As a general rule of thumb, not all observables can be chain-able.
For example if the received Subscriber
gets wrapped in another
subscriber instance, then chaining will not be safe unless
the onNext
, onError
and onComplete
events introduce
asynchronous boundaries as well, which is overkill.
Represents an Observable that waits for
the call to connect()
before
starting to emit elements to its subscriber(s).
Represents an Observable that waits for
the call to connect()
before
starting to emit elements to its subscriber(s).
Represents a hot observable (an observable that shares its data-source to multiple subscribers).
A GroupedObservable
is an observable type generated
by Observable.groupBy
.
A GroupedObservable
is an observable type generated
by Observable.groupBy
. It has the following properties:
- comes accompanied with a key
property after which
the grouping was made
- supports a single subscriber, throwing IllegalStateException
if you attempt multiple subscriptions
A RefCountObservable
is an observable that wraps a
ConnectableObservable, initiating the connection on the first
subscribe()
and then staying connected as long as there is at least
one subscription active.
Newtype encoding for an Observable datatype that has a cats.Apply instance which uses Observable.combineLatest to combine elements needed for implementing cats.NonEmptyParallel
A
CachedObservable
is an observable that wraps a regular Observable, initiating the connection on the firstsubscribe()
and then staying connected for as long as the source is emitting.NOTE: this is NOT a ConnectableObservable and being a hot data-source you've got no way to cancel the source.