RingBuffer

abstract class RingBuffer[A](val capacity: Int)

See zio.internal.RingBuffer for details on design, tradeoffs, etc.

Companion:
object
class Object
trait Matchable
class Any
class RingBufferArb[A]

Value members

Concrete methods

final override def dequeuedCount(): Long
Returns:

the number of elements that have ever been taken from the queue.

Note:

if you know how much time the queue is alive, you can calculate the rate at which elements are being dequeued.

Definition Classes
MutableConcurrentQueue
final override def enqueuedCount(): Long
Returns:

the number of elements that have ever been added to the queue.

Note:

that scala.Long is used here, since scala.Int will be overflowed really quickly for busy queues.

if you know how much time the queue is alive, you can calculate the rate at which elements are being enqueued.

Definition Classes
MutableConcurrentQueue
final override def isEmpty(): Boolean
Definition Classes
MutableConcurrentQueue
final override def isFull(): Boolean
Definition Classes
MutableConcurrentQueue
final override def offer(a: A): Boolean

A non-blocking enqueue.

A non-blocking enqueue.

Returns:

whether the enqueue was successful or not.

Definition Classes
MutableConcurrentQueue
final override def poll(default: A): A

A non-blocking dequeue.

A non-blocking dequeue.

Returns:

either an element from the queue, or the default param.

Note:

that if there's no meaningful default for your type, you can always use poll(null). Not the best, but reasonable price to pay for lower heap churn from not using scala.Option here.

Definition Classes
MutableConcurrentQueue
final override def size(): Int
Returns:

the '''current''' number of elements inside the queue.

Note:

that this method can be non-atomic and return the approximate number in a concurrent setting.

Definition Classes
MutableConcurrentQueue

Inherited methods

def offerAll(as: Iterable[A]): Chunk[A]

A non-blocking enqueue of multiple elements.

A non-blocking enqueue of multiple elements.

Inherited from:
MutableConcurrentQueue (hidden)
def pollUpTo(n: Int): Chunk[A]

A non-blocking dequeue of multiple elements.

A non-blocking dequeue of multiple elements.

Inherited from:
MutableConcurrentQueue (hidden)

Concrete fields

final override val capacity: Int

The '''maximum''' number of elements that a queue can hold.

The '''maximum''' number of elements that a queue can hold.

Note:

that unbounded queues can still implement this interface with capacity = MAX_INT.