Class ConcurrentDequeRecycler<T>

java.lang.Object
org.elasticsearch.common.recycler.DequeRecycler<T>
org.elasticsearch.common.recycler.ConcurrentDequeRecycler<T>
All Implemented Interfaces:
Recycler<T>

public class ConcurrentDequeRecycler<T> extends DequeRecycler<T>
A Recycler implementation based on a concurrent Deque. This implementation is thread-safe.
  • Field Details

  • Constructor Details

    • ConcurrentDequeRecycler

      public ConcurrentDequeRecycler(Recycler.C<T> c, int maxSize)
  • Method Details

    • obtain

      public Recycler.V<T> obtain()
      Specified by:
      obtain in interface Recycler<T>
      Overrides:
      obtain in class DequeRecycler<T>
    • beforeRelease

      protected boolean beforeRelease()
      Description copied from class: DequeRecycler
      Called before releasing an object, returns true if the object should be recycled and false otherwise.
      Overrides:
      beforeRelease in class DequeRecycler<T>
    • afterRelease

      protected void afterRelease(boolean recycled)
      Description copied from class: DequeRecycler
      Called after a release.
      Overrides:
      afterRelease in class DequeRecycler<T>
    • pageSize

      public int pageSize()
      Specified by:
      pageSize in interface Recycler<T>
      Returns:
      the page size of the recycled object if it is array backed.