All Classes and Interfaces
Class
Description
All Action interfaces extend from this.
A zero-argument action.
A one-argument action.
A two-argument action.
A three-argument action.
A four-argument action.
A five-argument action.
A six-argument action.
A seven-argument action.
An eight-argument action.
A nine-argument action.
A vector-argument action.
An Observer that forwards the onXXX method calls to a notification callback
by transforming each signal type into Notifications.
Utility class for the Action interfaces.
A Subscriber that forwards the onXXX method calls to callbacks.
A RuntimeException that is stackless but holds onto a textual
stacktrace from tracking the assembly location of operators.
An abstract base class for CompletableSubscriber implementations that want to expose an unsubscription
capability.
Abstraction over a RxJava Subscriber that allows associating
a resource with it and exposes the current number of downstream
requested amount.
Options to handle backpressure in the emitter.
A functional interface that has a single close method
that can throw.
A utility class to create
OnSubscribe<T>
functions that respond correctly to back
pressure requests from subscribers.An implementation of AsyncOnSubscribe that delegates
AsyncOnSubscribe.next(Object, long, Observer)
,
AsyncOnSubscribe.generateState()
, and AsyncOnSubscribe.onUnsubscribe(Object)
to provided functions/closures.Subject that publishes only the last item observed to each
Observer
once the source Observable
has completed.Manages the producer-backpressure-consumer interplay by
matching up available elements with requested elements and/or
terminal events.
Interface representing the minimal callbacks required
to operate the drain part of a backpressure system.
Generic strategy and default implementations to deal with backpressure buffer overflows.
Drop most recent items, but not
onError
nor unsubscribe from source
(as {code OperatorOnBackpressureDrop}).Drop oldest items from the buffer making room for newer ones.
onError
a MissingBackpressureException and unsubscribe from source.Represents a callback called when a value is about to be dropped
due to lack of downstream requests.
Utility functions for use with backpressure.
A base data structure for concurrent linked queues.
Subject that emits the most recent item it has observed and all subsequent observed items to each subscribed
Observer
.Signifies that a public API (public class, method or field) is subject to
incompatible changes, or even removal, in a future release.
BlockingObservable
is a variety of Observable
that provides blocking operators.Wait for and iterate over the latest values of the source observable.
Observer of source, iterator for output.
Returns an Iterable that always returns the item most recently emitted by an Observable, or a
seed value if no item has yet been emitted.
Returns an Iterable that blocks until the Observable emits another item, then returns that item.
Returns a Future representing the single value emitted by an Observable.
Returns an Iterator that iterates over all items emitted by a specified Observable.
BlockingSingle
is a blocking "version" of Single
that provides blocking
operators.Utility functions relating to blocking types.
Subscription that can be checked for status such as in a loop inside an
Observable
to exit the loop
if unsubscribed.A solution to the "time gap" problem that occurs with
groupBy
and pivot
.The common state.
An observable which auto-connects to another observable, caches the elements
from that observable but allows terminating the connection and completing the cache.
Manages the subscription of child subscribers by setting up a replay producer and
performs auto-connection of the very first subscription.
Contains the active child producers and the values to replay.
Keeps track of the current request amount and the replay position for a child Subscriber.
Represents a deferred computation without any value but only indication for completion or exception.
Callback used for building deferred computations that takes a CompletableSubscriber.
Convenience interface and callback used by the lift operator that given a child CompletableSubscriber,
return a parent CompletableSubscriber that does any kind of lifecycle-related transformations.
Represents the subscription API callbacks when subscribing to a Completable instance.
Convenience interface and callback used by the compose operator to turn a Completable into another
Completable fluently.
Represents an exception that is a composite of one or more other exceptions.
Same abstraction and implementation as in JDK to allow PrintStream and PrintWriter to share implementation
Subscription that represents a group of Subscriptions that are unsubscribed together.
A concurrent access enabling class used by circular array based queues this class exposes an offset computation
method along with differently memory fenced load/store methods into the underlying array.
A
ConnectableObservable
resembles an ordinary Observable
, except that it does not begin
emitting items when it is subscribed to, but only when its ConnectableObservable.connect()
method is called.Base class for Subscribers that consume the entire upstream and signal
zero or one element (or an error) in a backpressure honoring fashion.
Redirects the downstream request amount bach to the DeferredScalarSubscriber.
Holds a singleton instance of an empty Observable which is stateless and completes
the child subscriber immediately.
Utility class with methods to wrap checked exceptions and
manage fatal and regular exception delivery.
Utility methods for terminal atomics with Throwables.
Scheduler that wraps an Executor instance and establishes the Scheduler contract upon it.
Worker that schedules tasks on the executor indirectly through a trampoline mechanism.
Signifies that a public API (public class, method or field) is will almost certainly
be changed or removed in a future release.
Represents a function with zero arguments.
Represents a function with one argument.
Represents a function with two arguments.
Represents a function with three arguments.
Represents a function with four arguments.
Represents a function with five arguments.
Represents a function with six arguments.
Represents a function with seven arguments.
Represents a function with eight arguments.
Represents a function with nine arguments.
Represents a vector-argument function.
All Func and Action interfaces extend from this.
A default
ScheduledExecutorService
that can be used for scheduling actions when a Scheduler
implementation doesn't have that ability.Utility class to create the individual ScheduledExecutorService instances for
the GenericScheduledExecutorService class.
An
Observable
that has been grouped by key, the value of which can be obtained with GroupedObservable.getKey()
.Executes work immediately on the current thread.
Deprecated.
This type was never publicly instantiable.
Add/Remove without object allocation (after initial construction).
Holder of named utility classes factored out from Observable to save
source space and help with debugging with properly named objects.
A list implementation which combines an ArrayList with a LinkedList to
avoid copying values when the capacity needs to be increased.
This is a tagging interface for the queues in this library which implement a subset of the
Message passing queues offer happens before semantics to messages passed through, namely that writes made by the producer before offering the message are visible to the consuming thread after the message has been polled out of the queue.
Queue
interface
sufficient for concurrent message passing.Message passing queues offer happens before semantics to messages passed through, namely that writes made by the producer before offering the message are visible to the consuming thread after the message has been polled out of the queue.
Represents an exception that indicates that a Subscriber or operator attempted to apply reactive pull
backpressure to an Observable that does not implement it.
A Multi-Producer-Multi-Consumer queue based on a
ConcurrentCircularArrayQueue
.This is a direct Java port of the MPSC algorithm as presented on 1024
Cores by D.
This is a direct Java port of the MPSC algorithm as presented on 1024
Cores by D.
Subscription that can be checked for status such as in a loop inside an
Observable
to exit the loop
if unsubscribed.Holds a singleton instance of a never Observable which is stateless doesn't
call any of the Subscriber's methods.
Schedules work on a new thread.
Deprecated.
This type was never publicly instantiable.
An object representing a notification sent to an
Observable
.Specifies the kind of the notification: an element, an error or a completion notification.
For use in internal operators that need something like materialize and dematerialize wholly within the
implementation of the operator but don't want to incur the allocation cost of actually creating
Notification
objects for every onNext
and
onCompleted
.The Observable class that implements the Reactive Pattern.
Invoked when Observable.subscribe is called.
Transforms a OnSubscribe.call() into an Observable.subscribe() call.
Operator function for lifting into an Observable.
Function that receives the current Observable and should return another
Observable, possibly with given element type, in exchange that will be
subscribed to by the downstream operators and subscribers.
Provides a mechanism for receiving push-based notifications.
Helper methods and utilities for creating and working with
Observer
objects.Wraps an Observer and forwards the onXXX method calls to it.
Represents an exception used to re-throw errors thrown from
Observer.onCompleted()
.Represents an exception used to re-throw errors thrown from
Observer.onError(Throwable)
.Represents an exception used to re-throw
Observer.onError(Throwable)
when an implementation doesn't
exist.Represents a
Throwable
that an Observable
might notify its subscribers of, but that then can
be handled by an operator that is designed to recover from or react appropriately to such an error.Represents an exception that was encountered while trying to emit an item from an Observable, and
tries to preserve that item for future use and/or reporting.
Given multiple
Observable
s, propagates the one that first emits an item.Wraps a ConnectableObservable and calls its connect() method once
the specified number of Subscribers have subscribed.
Maps a source sequence into Observables and concatenates them in order, subscribing
to one at a time.
Do not create the Observable until an Observer subscribes; create a fresh Observable on each
subscription.
Delays the subscription to the source by the given amount, running on the given scheduler.
Delays the subscription to the main source until the other
observable fires an event or completes.
Delays the subscription until the Observable emits an event.
Nulls out references to upstream data structures when the source terminates or
the child unsubscribes.
Callbacks from the child Subscriber.
The parent subscriber that forwards events and cleans up on a terminal state.
Singleton instance via enum.
Filters an Observable by discarding any items it emits that do not meet some test.
Flattens a sequence if Iterable sources, generated via a function, into a single sequence.
A custom flattener that works from a scalar value and computes the iterable
during subscription time.
Do not invoke the function until an Observer subscribes; Invokes function on each
subscription.
Converts an
Iterable
sequence into an Observable
.Correlates two sequences when they overlap and groups the results.
The reference-counted window observable.
Correlates the elements of two sequences based on overlapping durations.
Transforms the downstream Subscriber into a Subscriber via an operator
callback and calls the parent OnSubscribe.call() method with it.
Applies a function of your choosing to every item emitted by an
Observable
, and emits the results of
this transformation as a new Observable
.Captures the current stack when it is instantiated, makes
it available through a field and attaches it to all
passing exception.
Captures the current stack when it is instantiated, makes
it available through a field and attaches it to all
passing exception.
Captures the current stack when it is instantiated, makes
it available through a field and attaches it to all
passing exception.
Multicasts notifications coming through its input Subscriber view to its
client Subscribers via lockstep backpressure mode.
The subscriber that must be used for subscribing to the upstream source.
A Producer and Subscription that wraps a child Subscriber and manages
its backpressure requests along with its unsubscription from the parent
class.
Emit ints from start to end inclusive.
Returns an observable sequence that stays connected to the source as long as
there is at least one subscription to the observable sequence.
Allows conversion of an Observable to a Single ensuring that exactly one item is emitted - no more and no less.
Timer that emits a single 0L and completes after the specified time.
Emit 0L after the initial period and ever increasing number after each period.
Converts a
Future
into an Observable
.Constructs an observable sequence that depends on a resource object.
A simple open hash set with add, remove and clear capabilities only.
Returns an Observable that emits a Boolean that indicates whether all items emitted by an
Observable satisfy a condition.
Returns an
Observable
that emits true
if any element of
an observable sequence satisfies a condition, otherwise false
.Hides the identity of another observable.
Lazy initialization via inner-class holder.
This operation takes
values from the specified
Observable
source and stores them in a buffer until the
Observable
constructed using the Func0
argument, produces a value.This operation takes
values from the specified
Observable
source and stores them in all active chunks until the buffer
contains a specified number of elements.This operation takes
values from the specified
Observable
source and stores them in the currently active chunks.This operation takes
values from the specified
Observable
source and stores them in a buffer.Converts the elements of an observable sequence to the specified type.
Delay the emission via another observable if no new source appears in the meantime.
This operation filters out events which are published too quickly in succession.
Tracks the last value to be emitted and manages completion.
Delays the emission of onNext events by a given amount of time.
Delay the subscription and emission of the source items by a per-item observable that fires its first element.
Reverses the effect of
OperatorMaterialize
by transforming the Notification objects
emitted by a source Observable into the items or notifications they represent.Lazy initialization via inner-class holder.
Returns an Observable that emits all distinct items emitted by the source.
Returns an Observable that emits all sequentially distinct items emitted by the source.
Registers an action to be called after an Observable invokes
onComplete
or onError
.Converts the elements of an observable sequence to the specified type.
This operator modifies an
Observable
so a given action is invoked when the
Producer
receives a request.This operator modifies an
Observable
so a given action is invoked when the Observable
is subscribed.This operator modifies an
Observable
so a given action is invoked when the Observable
is unsubscribed.Returns the element at a specified index in a sequence.
A producer that wraps another Producer and requests Long.MAX_VALUE
when the first positive request() call comes in.
Groups the items emitted by an Observable according to a specified criterion, and emits these
grouped items as Observables, one Observable per group.
Applies a function of your choosing to every item emitted by an
Observable
, and emits the results of
this transformation as a new Observable
.An
Observable.Operator
that pairs up items emitted by a source Observable
with the sequence of items
emitted by the Observable
that is derived from each item by means of a selector, and emits the
results of this pairing.Turns all of the notifications from an Observable into
onNext
emissions, and marks
them with their original notification types within Notification
objects.Lazy initialization via inner-class holder.
Flattens a list of
Observable
s into one Observable
, without any transformation.Lazy initialization via inner-class holder.
Lazy initialization via inner-class holder.
The subscriber that observes Observables.
Shares a single subscription to a source through a Subject.
Delivers events on the specified
Scheduler
asynchronously via an unbounded buffer.Observe through individual queue per observer.
Lazy initialization via inner-class holder.
An operator which drops all but the last received value in case the downstream
doesn't request more.
Holds a singleton instance initialized on class-loading.
A terminable producer which emits the latest items on request.
Instruct an Observable to pass control to another Observable (the return value of a function)
rather than invoking
onError
if it encounters an error.A connectable observable which shares an underlying source and dispatches source values to subscribers in a backpressure-aware
manner.
A Producer and Subscription that manages the request and unsubscription state of a
child subscriber in thread-safe manner.
Base class for bounded buffering with options to specify an
enter and leave transforms and custom truncation behavior.
A Producer and Subscription that manages the request and unsubscription state of a
child subscriber in thread-safe manner.
Represents a node in a bounded replay buffer's linked list.
The interface for interacting with various buffering logic.
Size and time bound replay buffer.
A bounded replay buffer implementation with size limit only.
Holds an unbounded list of events.
Sample with the help of another observable.
Returns an Observable that emits the results of sampling the items emitted by the source
Observable at a specified time interval.
The source subscriber and sampler.
Returns an Observable that applies a function to the first item emitted by a source Observable, then feeds
the result of that function along with the second item emitted by an Observable into the same function, and
so on until all items have been emitted by the source Observable, emitting the result of each of these
iterations.
Returns an
Observable
that emits a single Boolean
value that indicates whether two source
Observable
s emit sequences of items that are equivalent to each other.Lazy initialization via inner-class holder.
If the Observable completes after emitting a single item that matches a
predicate, return an Observable containing that item.
Returns an Observable that skips the first
num
items emitted by the source
Observable.Bypasses a specified number of elements at the end of an observable sequence.
Skip delivering values in the time window before the values.
Skips elements until a specified time elapses.
Skip elements from the source Observable until the secondary
observable fires an element.
Skips any emitted source items as long as the specified condition holds true.
Subscribes Observers on the specified
Scheduler
.Transforms an Observable that emits Observables into a single Observable that
emits the items emitted by the most recently published of those Observables.
Lazy initialization via inner-class holder.
Lazy initialization via inner-class holder.
If the Observable completes without emitting any items, subscribe to an alternate Observable.
An
Observable
that emits the first num
items emitted by the source Observable
.Returns an Observable that emits the at most the last
count
items emitted by the source Observable.Returns an Observable that emits the last
count
items emitted by the source Observable.Takes values from the source until the specific time elapses.
Subscribed to source and scheduled on a worker.
Returns an Observable that emits the items from the source Observable until another Observable
emits an item.
Returns an Observable that emits items emitted by the source Observable until
the provided predicate returns false
O
Returns an Observable that emits items emitted by the source Observable as long as a specified
condition is true.
Throttle by windowing a stream and returning the first value in each window.
Records the time interval between consecutive elements in an observable sequence.
Applies a timeout policy for each element in the observable sequence, using
the specified scheduler to run timeout timers.
Set up the timeout action on the first value.
Set up the timeout action based on every value
Returns an Observable that mirrors the source Observable.
Wraps each item emitted by a source
Observable
in a Timestamped
object.Maps the elements of the source observable into a java.util.Map instance and
emits that once the source observable completes.
The default map factory.
Maps the elements of the source observable into a multimap
(Map<K, Collection<V>>) where each
key entry has a collection of the source's values.
The default collection factory for a key in the multimap returning
an ArrayList independent of the key.
The default multimap factory returning a HashMap.
Returns an
Observable
that emits a single item, a list composed of all the items emitted by the
source Observable
.Lazy initialization via inner-class holder.
Return an
Observable
that emits the items emitted by the source Observable
, in a sorted order
(each item emitted by the Observable
must implement Comparable
with respect to all other
items in the sequence, or you must pass in a sort function).Unsubscribes on the specified Scheduler.
Creates non-overlapping windows of items where each window is terminated by
an event from a secondary observable and a new window is started immediately.
Observes the boundary.
Observes the source.
Creates non-overlapping windows of items where each window is terminated by
an event from a secondary observable and a new window is started immediately.
Observes the boundary.
Observes the source.
Creates windows of values into the source sequence with skip frequency and size bounds.
Creates potentially overlapping windows of the source items where each window is
started by a value emitted by an observable and closed when an associated Observable emits
a value or completes.
Serialized access to the subject.
Creates windows of values into the source sequence with timed window creation, length and size bounds.
Record to store the subject and the emission count.
The immutable windowing state with one subject.
Combines values from two sources only when the main source emits.
Returns an Observable that emits the results of a function applied to sets of items emitted, in
sequence, by two or more other Observables.
Allow platform dependent logic such as checks for Android.
Interface that establishes a request-channel between an Observable and a Subscriber and allows
the Subscriber to request a certain amount of items from the Observable (otherwise known as
backpressure).
Producer that allows changing an underlying producer atomically and correctly resume with the accumulated
requests.
Producer that serializes any event emission with requesting and producer changes.
Subject that, once an
Observer
has subscribed, emits all subsequently observed items to the
subscriber.Producer that holds an unbounded (or custom) queue, handles terminal events,
enqueues values and relays them to a child subscriber on request.
Producer that holds an unbounded (or custom) queue to enqueue values and relays them
to a child subscriber on request.
This interface is provided for monitoring purposes only and is only available on queues where it is easy to
provide it.
Keeps track of the sub-subscriptions and unsubscribes the underlying subscription once all sub-subscriptions
have unsubscribed.
The individual sub-subscriptions.
Subject that buffers all items it observes and replays them to any
Observer
that subscribes.The base interface for buffering signals to be replayed to individual
Subscribers.
A producer and subscription implementation that tracks the current
replay position of a particular subscriber.
Holds onto the array of Subscriber-wrapping ReplayProducers and
the buffer that holds values to be replayed; it manages
subscription and signal dispatching.
An unbounded ReplayBuffer implementation that uses linked-arrays
to avoid copy-on-grow situation with ArrayList.
Abstract ExecutionHook with invocations at different lifecycle points of
Completable
execution with a
default no-op implementation.Abstract class for defining error handling logic in addition to the normal
Observer.onError(Throwable)
behavior.Utility class that holds hooks for various Observable, Single and Completable lifecycle-related
points as well as Scheduler hooks.
Abstract ExecutionHook with invocations at different lifecycle points of
Observable
execution with a
default no-op implementation.Default no-op implementation of
RxJavaObservableExecutionHook
Registry for plugin implementations that allows global override and handles the retrieval of correct
implementation based on order of precedence:
plugin registered globally via
register
methods in this class
plugin registered and retrieved using System.getProperty(String)
(see get methods for
property names)
default implementation
This plugin class provides 2 ways to customize
Scheduler
functionality
1.Abstract ExecutionHook with invocations at different lifecycle points of
Single
execution with a
default no-op implementation.Default no-op implementation of
RxJavaSingleExecutionHook
This assumes Spsc or Spmc usage.
Wraps another CompletableSubscriber and handles exceptions thrown
from onError and onCompleted.
SafeSubscriber
is a wrapper around Subscriber
that ensures that the Subscriber
complies with the Observable contract.An Observable that emits a single constant scalar value to Subscribers.
The OnSubscribe callback for the Observable constructor.
The OnSubscribe implementation that creates the ScalarAsyncProducer for each
incoming subscriber.
Represents a producer which schedules the emission of a scalar value on
the first positive request via the given scheduler callback.
This is the weak version of SingleProducer that uses plain fields
to avoid reentrancy and as such is not threadsafe for concurrent
request() calls.
Optimized observeOn for scalar value observed on the EventLoopsScheduler.
Emits a scalar value on a general scheduler.
Action that emits a single value when called.
A
Runnable
that executes an Action0
and can be cancelled.Remove a child subscription from a composite when unsubscribing.
Remove a child subscription from a composite when unsubscribing.
A
Scheduler
is an object that schedules units of work.Sequential Scheduler for executing actions on a single thread or event loop.
Represents the capability of a Scheduler to be start or shut down its maintained
threads.
Static factory methods for creating Schedulers.
Allows the use of operators for controlling the timing around when actions
scheduled on workers are actually done.
Enforces single-threaded, serialized, ordered execution of
SerializedObserver.onNext(T)
, SerializedObserver.onCompleted()
, and
SerializedObserver.onError(java.lang.Throwable)
.Wraps a
Subject
so that it is safe to call its various on
methods from different threads.Enforces single-threaded, serialized, ordered execution of
SerializedSubscriber.onNext(T)
, SerializedSubscriber.onCompleted()
, and
SerializedSubscriber.onError(java.lang.Throwable)
.Represents a subscription whose underlying subscription can be swapped for another subscription which causes
the previous underlying subscription to be unsubscribed.
The Single class implements the Reactive Pattern for a single value response.
Invoked when Single.execute is called.
Transformer function used by
Single.compose(rx.Single.Transformer<? super T, ? extends R>)
.Producer that emits a single value and completes the child subscriber once that
single value is set on it and the child requested items (maybe both asynchronously).
Execute an action after onSuccess or onError has been delivered.
Delays the subscription to the Single until the Observable
fires an event or completes.
Applies a function of your choosing to every item emitted by an
Single
, and emits the results of
this transformation as a new Single
.Generates a resource, derives a Single from it and disposes that resource once the
Single terminates.
A producer which emits a single value and completes the child on the first positive request.
Provides a mechanism for receiving push-based notifications.
A Single-Producer-Single-Consumer queue backed by a pre-allocated buffer.
A Single-Producer-Single-Consumer queue backed by a pre-allocated buffer.
A single-producer single-consumer bounded queue with exact capacity tracking.
A single-producer single-consumer array-backed queue which can allocate new arrays in case the consumer is slower
than the producer.
This is a weakened version of the MPSC algorithm as presented on 1024
Cores by D.
This is a weakened version of the MPSC algorithm as presented on 1024
Cores by D.
A single-producer single-consumer queue with unbounded capacity.
Represents an object that is both an Observable and an Observer.
Represents the typical state and OnSubscribe logic for a Subject implementation.
State-machine representing the termination state and active SubjectObservers.
Observer wrapping the actual Subscriber and providing various
emission facilities.
Provides a mechanism for receiving push-based notifications from Observables, and permits manual
unsubscribing from these Observables.
Helper methods and utilities for creating and working with
Subscriber
objects.Subscription returns from
Observable.subscribe(Subscriber)
to allow unsubscribing.Subscription that represents a group of Subscriptions that are unsubscribed together.
Helper methods and utilities for creating and working with
Subscription
objectsNaming classes helps with debugging.
Naming classes helps with debugging.
Suppress errors by the AnimalSniffer plugin.
Intended for use when the `sun.misc.Unsafe` implementations can't be used.
A utility class to create
OnSubscribe<T>
functions that respond correctly to back
pressure requests from subscribers.Contains the producer loop that reacts to downstream requests of work.
An implementation of SyncOnSubscribe that delegates
,
invalid reference
SyncOnSubscribe#next(Object, Subscriber)
SyncOnSubscribe.generateState()
,
and SyncOnSubscribe.onUnsubscribe(Object)
to provided functions/closures.Deprecated.
use the
TestSubscriber
insteand.The
TestScheduler
is useful for debugging.A variety of Subject that is useful for testing purposes.
A
TestSubscriber
is a variety of Subscriber
that you can use for unit testing, to perform
assertions, inspect received events, or wrap a mocked Subscriber
.A
TimeInterval
represents an item emitted by an Observable
along with the amount of time that
elapsed either since the emission of the previous item or (if there was no previous item) since the
Observable
was first subscribed to.Composite class that takes a value and a timestamp and wraps them.
Schedules work on the current thread but does not execute immediately.
Deprecated.
This type was never publicly instantiable.
A Subject variant which buffers events until a single Subscriber arrives and replays them to it
and potentially switches to direct delivery once the Subscriber caught up and requested an unlimited
amount.
The single-consumption replaying state.
All use of this class MUST first check that UnsafeAccess.isUnsafeAvailable() == true
otherwise NPEs will happen in environments without "suc.misc.Unsafe" such as Android.
Represents an exception used to re-throw errors thrown from
Subscriber.unsubscribe()
.Utility functions for internal use that we don't want part of the public API.