Class RecyclingBufferPool

  • All Implemented Interfaces:
    BufferPool

    public class RecyclingBufferPool
    extends java.lang.Object
    implements BufferPool
    A pool of buffers which uses a simple reference queue to recycle buffers. Do not use it as generic buffer pool - it is optimized and supports only buffer sizes used by the Zstd classes.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static @NotNull BufferPool INSTANCE  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      @NotNull java.nio.ByteBuffer get​(int capacity)
      Fetch a buffer from the pool.
      void release​(@NotNull java.nio.ByteBuffer buffer)
      Return a buffer to the pool.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • INSTANCE

        @NotNull
        public static final @NotNull BufferPool INSTANCE
    • Method Detail

      • get

        @NotNull
        public @NotNull java.nio.ByteBuffer get​(int capacity)
        Description copied from interface: BufferPool
        Fetch a buffer from the pool.
        Specified by:
        get in interface BufferPool
        Parameters:
        capacity - the desired size of the buffer
        Returns:
        a heap buffer with size at least the `capacity` and arrayOffset of 0
      • release

        public void release​(@NotNull
                            @NotNull java.nio.ByteBuffer buffer)
        Description copied from interface: BufferPool
        Return a buffer to the pool.
        Specified by:
        release in interface BufferPool
        Parameters:
        buffer - the buffer to return