Represents the acknowledgement of processing that a consumer
sends back upstream on Observer.onNext
Represents the buffering policy chosen for actions that need buffering, instructing the pipeline what to do when the buffer is full.
A channel is meant for imperative style feeding of events.
A channel is meant for imperative style feeding of events.
When emitting events, one doesn't need to follow the back-pressure contract. On the other hand the grammar must still be respected:
(pushNext)* (pushComplete | pushError)
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).
Useful for converting cold observables into hot observables and thus returned by Observable.multicast.
Used by Observable.materialize.
Asynchronous implementation of the Observable interface
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
or onError
(just one, not both),
and after onComplete or onError, a well behaved Observable implementation
shouldn't send any more onNext events.
A Subject
is a sort of bridge or proxy that acts both as an
Observer and as an Observable and that must respect the contract of both.
A Subject
is a sort of bridge or proxy that acts both as an
Observer and as an Observable and that must respect the contract of both.
Because it is a Observer
, it can subscribe to an Observable
and because it is an Observable
,
it can pass through the items it observes by re-emitting them and it can also emit new items.
Useful to build multicast Observables or reusable processing pipelines.
Represents the buffering policy chosen for actions that need buffering, instructing the pipeline what to do when the buffer is full.
For the available policies, see:
- Unbounded - OverflowTriggering - BackPressured
Used in BufferedObserver to implement buffering when concurrent actions are needed, such as in Channels or in Observable.merge.