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
Fields Modifier and Type Field Description (package private) Predicate<? super T>filter-
Fields inherited from class io.reactivex.rxjava3.internal.subscribers.BasicFuseableSubscriber
done, downstream, qs, sourceMode, upstream
-
-
Constructor Summary
Constructors Constructor Description FilterSubscriber(org.reactivestreams.Subscriber<? super T> actual, Predicate<? super T> filter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidonNext(T t)Tpoll()Tries to dequeue a value (non-null) or returns null if the queue is empty.intrequestFusion(int mode)Request a fusion mode from the upstream.booleantryOnNext(T t)Conditionally takes the value.-
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
-
-
-
-
Method Detail
-
tryOnNext
public boolean tryOnNext(T t)
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
@Nullable public T poll() throws java.lang.Throwable
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:
java.lang.Throwable- if some pre-processing of the dequeued item (usually through fused functions) throws.
-
-