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 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 BasicFuseableSubscriber
afterDownstream, beforeDownstream, cancel, clear, fail, isEmpty, offer, offer, onComplete, onError, onSubscribe, request, transitiveBoundaryFusionMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface FlowableSubscriber
onSubscribeMethods inherited from interface org.reactivestreams.Subscriber
onComplete, onError
-
Field Details
-
filter
-
-
Constructor Details
-
FilterSubscriber
-
-
Method Details
-
onNext
-
tryOnNext
Description copied from interface:ConditionalSubscriberConditionally takes the value.- Specified by:
tryOnNextin 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:QueueFuseableRequest a fusion mode from the upstream.This should be called before
onSubscribereturns.Calling this method multiple times or after
onSubscribefinished is not allowed and may result in undefined behavior.- Specified by:
requestFusionin interfaceQueueFuseable<T>- Parameters:
mode- the requested fusion mode, allowed values areQueueFuseable.SYNC,QueueFuseable.ASYNC,QueueFuseable.ANYcombined withQueueFuseable.BOUNDARY(e.g.,requestFusion(SYNC | BOUNDARY)).- Returns:
- the established fusion mode:
QueueFuseable.NONE,QueueFuseable.SYNC,QueueFuseable.ASYNC.
-
poll
Description copied from interface:SimpleQueueTries 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:
pollin 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.
-