Module methanol
Class AbstractQueueSubscription<T>
java.lang.Object
com.github.mizosoft.methanol.internal.flow.AbstractSubscription<T>
com.github.mizosoft.methanol.internal.flow.AbstractPollableSubscription<T>
com.github.mizosoft.methanol.internal.flow.AbstractQueueSubscription<T>
- All Implemented Interfaces:
Flow.Subscription
A subscription that emits items from a queue and completes downstream as soon as a sentinel value
is observed.
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractQueueSubscription(Flow.Subscriber<? super T> downstream, Executor executor) protectedAbstractQueueSubscription(Flow.Subscriber<? super T> downstream, Executor executor, Queue<T> queue) protectedAbstractQueueSubscription(Flow.Subscriber<? super T> downstream, Executor executor, Queue<T> queue, T sentinel) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidabort(boolean flowInterrupted) Releases resources held by this subscription.protected voidcomplete()protected booleanReturnstrueif downstream is to be completed.protected @Nullable Tpoll()Returns the next item, ornullif no items are available.protected voidprotected voidsubmitAndComplete(T lastItem) protected voidsubmitSilently(T item) Methods inherited from class com.github.mizosoft.methanol.internal.flow.AbstractPollableSubscription
emitMethods inherited from class com.github.mizosoft.methanol.internal.flow.AbstractSubscription
cancel, cancelOnComplete, cancelOnError, currentDemand, fireOrKeepAlive, fireOrKeepAliveOnError, fireOrKeepAliveOnNext, hasPendingErrors, isCancelled, request, submitOnNext
-
Constructor Details
-
AbstractQueueSubscription
-
AbstractQueueSubscription
protected AbstractQueueSubscription(Flow.Subscriber<? super T> downstream, Executor executor, Queue<T> queue) -
AbstractQueueSubscription
-
-
Method Details
-
submit
-
submitSilently
-
submitAndComplete
-
poll
Description copied from class:AbstractPollableSubscriptionReturns the next item, ornullif no items are available.- Specified by:
pollin classAbstractPollableSubscription<T>
-
isComplete
protected boolean isComplete()Description copied from class:AbstractPollableSubscriptionReturnstrueif downstream is to be completed. Implementation must ensuretrueisn't returned unless the subscription knows it won't produce any more items AND there aren't any present items expected to bepolled.- Specified by:
isCompletein classAbstractPollableSubscription<T>
-
abort
protected void abort(boolean flowInterrupted) Description copied from class:AbstractSubscriptionReleases resources held by this subscription.flowInterruptedtells whether cancellation was due to flow interruption by downstream (e.g. callingcancel()or throwing fromonNextoronSubscribe), or due to ending the normal flow of signals (onSubscribe -> onNext* -> (onError | onComplete)).- Overrides:
abortin classAbstractSubscription<T>
-
complete
protected void complete()
-