Class BasicQueueSubscription<T>

java.lang.Object
java.lang.Number
java.util.concurrent.atomic.AtomicLong
io.reactivex.rxjava3.internal.subscriptions.BasicQueueSubscription<T>
Type Parameters:
T - the value type
All Implemented Interfaces:
QueueFuseable<T>, QueueSubscription<T>, SimpleQueue<T>, Serializable, org.reactivestreams.Subscription
Direct Known Subclasses:
FlowableFromArray.BaseArraySubscription, FlowableFromIterable.BaseRangeSubscription, FlowableRange.BaseRangeSubscription, FlowableRangeLong.BaseRangeSubscription

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

  • Constructor Details

    • BasicQueueSubscription

      public BasicQueueSubscription()
  • Method Details

    • offer

      public final boolean offer(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(T v1, 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)