# Package org.modeshape.common.collection.ring

A ring buffer and the components it uses internally.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Cursor | A cursor in a ring buffer at which point information can be added to the buffer.
  DependentOnPointers | An interface that defines methods to add and remove dependent `Pointer`s.
  GarbageCollectingConsumer.Collectable |
  PointerBarrier | A barrier that encapsulates a `Pointer` and that will `wait` to advance it until it is safe to do so and there are entries available to read.
  RingBuffer.ConsumerAdapter<EntryType,ConsumerType> | Adapts the `RingBuffer.ConsumerAdapter.consume(Object, Object, long, long)`, `RingBuffer.ConsumerAdapter.close(Object)` and `RingBuffer.ConsumerAdapter.handleException(Object, Throwable, Object, long, long)` methods to other methods on an unknown type.
  WaitStrategy | Strategy that encapsulates how to wait for a `Pointer` to make the supplied position available.

- Class Summary
  Class | Description
  --- | ---
  BlockingWaitStrategy | A `WaitStrategy` that blocks the current thread until an entry is available for consumption.
  Consumer<T> | A consumer of entries that are added to the ring buffer.
  GarbageCollectingConsumer |
  Pointer | A sequence of long values that are updated atomically.
  Pointers | Static methods for atomically modifying an array of `Pointer` instances.
  RingBuffer<T,C> | A circular or "ring" buffer that allows entries supplied by a producer to be easily, quickly, and independently consumed by multiple `consumers`.
  RingBuffer.NoOpLock |
  RingBufferBuilder<T,C> |
  SingleProducerCursor | A single-threaded cursor for a ring buffer that ensures it does not pass the slowest `Pointer` that is consuming entries.
  TrailingPointer | A `Pointer` that will always stay behind a number of other `Pointer` instances, which can be safely and dynamically added or removed.

## Package org.modeshape.common.collection.ring Description

A ring buffer and the components it uses internally.

Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.