Note that onSubscribe(Subscription) is not serialized in respect of the other methods so
make sure the onSubscribe is called with a non-null Subscription
before any of the other methods are called.
The implementation assumes that the actual Subscriber's methods don't throw.
| Modifier and Type | Field and Description |
|---|---|
| pack-priv final boolean | |
| pack-priv volatile boolean | |
| pack-priv final Subscriber | |
| pack-priv boolean | |
| pack-priv AppendOnlyLinkedArrayList | |
| pack-priv static final int | |
| pack-priv Subscription |
| Access | Constructor and Description |
|---|---|
| public | SerializedSubscriber(Subscriber<? super T>
the actual Subscriber, not null (not verified) downstream)Construct a SerializedSubscriber by wrapping the given actual Subscriber. |
| public | SerializedSubscriber(Subscriber<? super T>
the actual Subscriber, not null (not verified) actual, boolean if true, errors are emitted after regular values have been emitted delayError)Construct a SerializedSubscriber by wrapping the given actual Observer and optionally delaying the errors till all regular values have been emitted from the internal buffer. |
| Modifier and Type | Method and Description |
|---|---|
| public void | cancel()
Implements org. Publisher to stop sending data and clean up resources.
|
| pack-priv void | |
| public void | |
| public void | onError(Throwable
the throwable signaled t)Implements org. |
| public void | onNext(T
the element signaled t)Implements org. Publisher in response to requests to Subscription#request(long).
|
| public void | onSubscribe(Subscription
the s)Subscription that allows requesting data via Subscription#request(long)Implements io. onNext(Object) is established before
calling Subscription#request(long).
|
| public void | request(long
the strictly positive number of elements to requests to the upstream n)PublisherImplements org. Publisher until demand is signaled via this method.
|
| delayError | back to summary |
|---|---|
| pack-priv final boolean delayError | |
| done | back to summary |
|---|---|
| pack-priv volatile boolean done | |
| downstream | back to summary |
|---|---|
| pack-priv final Subscriber<? super T> downstream | |
| emitting | back to summary |
|---|---|
| pack-priv boolean emitting | |
| queue | back to summary |
|---|---|
| pack-priv AppendOnlyLinkedArrayList<Object> queue | |
| QUEUE_LINK_SIZE | back to summary |
|---|---|
| pack-priv static final int QUEUE_LINK_SIZE | |
| upstream | back to summary |
|---|---|
| pack-priv Subscription upstream | |
| SerializedSubscriber | back to summary |
|---|---|
| public SerializedSubscriber(Subscriber<? super T> downstream) Construct a SerializedSubscriber by wrapping the given actual Subscriber.
| |
| SerializedSubscriber | back to summary |
|---|---|
| public SerializedSubscriber(Subscriber<? super T> actual, boolean delayError) Construct a SerializedSubscriber by wrapping the given actual Observer and optionally delaying the errors till all regular values have been emitted from the internal buffer.
| |
| cancel | back to summary |
|---|---|
| public void cancel() Implements org. Doc from org. Request the Data may still be sent to meet previously signalled demand after calling cancel.
| |
| emitLoop | back to summary |
|---|---|
| pack-priv void emitLoop() | |
| onComplete | back to summary |
|---|---|
| public void onComplete() Implements org. Doc from org. Successful terminal state.
No further events will be sent even if
| |
| onError | back to summary |
|---|---|
| public void onError(Throwable t) Implements org. Doc from org. Failed terminal state.
No further events will be sent even if | |
| onNext | back to summary |
|---|---|
| public void onNext(T t) Implements org. Doc from org. Data notification sent by the
| |
| onSubscribe | back to summary |
|---|---|
| public void onSubscribe(Subscription s) Implements io. Doc from io. Implementors of this method should make sure everything that needs
to be visible in
No data will start flowing until
It is the responsibility of this
The
| |
| request | back to summary |
|---|---|
| public void request(long n) Implements org. Doc from org. No events will be sent by a
It can be called however often and whenever needed—but if the outstanding cumulative demand ever becomes Long.MAX_VALUE or more,
it may be treated by the
Whatever has been requested can be sent by the
A | |