Class BasicIntQueueSubscription<T>

java.lang.Object
java.lang.Number
java.util.concurrent.atomic.AtomicInteger
io.reactivex.rxjava3.internal.subscriptions.BasicIntQueueSubscription<T>
Type Parameters:
T - the value type
All Implemented Interfaces:
QueueFuseable<T>, QueueSubscription<T>, SimpleQueue<T>, Serializable, org.reactivestreams.Subscription
Direct Known Subclasses:
DeferredScalarSubscription, FlowableCombineLatest.CombineLatestCoordinator, FlowableDoFinally.DoFinallyConditionalSubscriber, FlowableDoFinally.DoFinallySubscriber, FlowableFlatMapCompletable.FlatMapCompletableMainSubscriber, FlowableFlattenIterable.FlattenIterableSubscriber, FlowableGroupBy.State, FlowableObserveOn.BaseObserveOnSubscriber, FlowableOnBackpressureBuffer.BackpressureBufferSubscriber, MaybeFlatMapIterableFlowable.FlatMapIterableObserver, MaybeFlattenStreamAsFlowable.FlattenStreamMultiObserver, MaybeMergeArray.MergeMaybeObserver, SingleFlatMapIterableFlowable.FlatMapIterableObserver, UnicastProcessor.UnicastQueueSubscription

public abstract class BasicIntQueueSubscription<@NonNull T> extends AtomicInteger implements QueueSubscription<T>
Base class extending AtomicInteger (wip or request accounting) and QueueSubscription (fusion).
See Also:
  • Field Details

  • Constructor Details

    • BasicIntQueueSubscription

      public BasicIntQueueSubscription()
  • Method Details

    • offer

      public final boolean offer(@NonNull T e)
      Description copied from interface: SimpleQueue
      Atomically enqueue a single value.
      Specified by:
      offer in interface SimpleQueue<T>
      Parameters:
      e - the value to enqueue, not null
      Returns:
      true if successful, false if the value was not enqueued likely due to reaching the queue capacity)
    • offer

      public final boolean offer(@NonNull T v1, @NonNull T v2)
      Description copied from interface: SimpleQueue
      Atomically enqueue two values.
      Specified by:
      offer in interface SimpleQueue<T>
      Parameters:
      v1 - the first value to enqueue, not null
      v2 - the second value to enqueue, not null
      Returns:
      true if successful, false if the value was not enqueued likely due to reaching the queue capacity)