Class FlowableFilter.FilterSubscriber<T>
java.lang.Object
io.reactivex.rxjava3.internal.subscribers.BasicFuseableSubscriber<T,T>
io.reactivex.rxjava3.internal.operators.flowable.FlowableFilter.FilterSubscriber<T>
- All Implemented Interfaces:
FlowableSubscriber<T>
,ConditionalSubscriber<T>
,QueueFuseable<T>
,QueueSubscription<T>
,SimpleQueue<T>
,org.reactivestreams.Subscriber<T>
,org.reactivestreams.Subscription
- Enclosing class:
FlowableFilter<T>
static final class FlowableFilter.FilterSubscriber<T>
extends BasicFuseableSubscriber<T,T>
implements ConditionalSubscriber<T>
-
Field Summary
FieldsFields inherited from class io.reactivex.rxjava3.internal.subscribers.BasicFuseableSubscriber
done, downstream, qs, sourceMode, upstream
-
Constructor Summary
ConstructorsConstructorDescriptionFilterSubscriber
(org.reactivestreams.Subscriber<? super T> actual, Predicate<? super T> filter) -
Method Summary
Methods inherited from class io.reactivex.rxjava3.internal.subscribers.BasicFuseableSubscriber
afterDownstream, beforeDownstream, cancel, clear, fail, isEmpty, offer, offer, onComplete, onError, onSubscribe, request, transitiveBoundaryFusion
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.reactivex.rxjava3.core.FlowableSubscriber
onSubscribe
Methods inherited from interface org.reactivestreams.Subscriber
onComplete, onError
-
Field Details
-
filter
-
-
Constructor Details
-
FilterSubscriber
-
-
Method Details
-
onNext
- Specified by:
onNext
in interfaceorg.reactivestreams.Subscriber<T>
-
tryOnNext
Description copied from interface:ConditionalSubscriber
Conditionally takes the value.- Specified by:
tryOnNext
in interfaceConditionalSubscriber<T>
- Parameters:
t
- the value to deliver- Returns:
- true if the value has been accepted, false if the value has been rejected and the next value can be sent immediately
-
requestFusion
public int requestFusion(int mode) Description copied from interface:QueueFuseable
Request a fusion mode from the upstream.This should be called before
onSubscribe
returns.Calling this method multiple times or after
onSubscribe
finished is not allowed and may result in undefined behavior.- Specified by:
requestFusion
in interfaceQueueFuseable<T>
- Parameters:
mode
- the requested fusion mode, allowed values areQueueFuseable.SYNC
,QueueFuseable.ASYNC
,QueueFuseable.ANY
combined withQueueFuseable.BOUNDARY
(e.g.,requestFusion(SYNC | BOUNDARY)
).- Returns:
- the established fusion mode:
QueueFuseable.NONE
,QueueFuseable.SYNC
,QueueFuseable.ASYNC
.
-
poll
Description copied from interface:SimpleQueue
Tries to dequeue a value (non-null) or returns null if the queue is empty.If the producer uses
SimpleQueue.offer(Object, Object)
and when polling in pairs, if the first poll() returns a non-null item, the second poll() is guaranteed to return a non-null item as well.- Specified by:
poll
in interfaceSimpleQueue<T>
- Returns:
- the item or null to indicate an empty queue
- Throws:
Throwable
- if some pre-processing of the dequeued item (usually through fused functions) throws.
-