Package akka.io

Class DirectByteBufferPool

  • All Implemented Interfaces:
    BufferPool

    public class DirectByteBufferPool
    extends java.lang.Object
    implements BufferPool
    INTERNAL API

    A buffer pool which keeps a free list of direct buffers of a specified default size in a simple fixed size stack.

    If the stack is full the buffer is de-referenced and available to be freed by normal garbage collection.

    Using a direct ByteBuffer when dealing with NIO operations has been proven to be faster than wrapping on-heap Arrays. There is ultimately no performance benefit to wrapping in-heap JVM data when writing with NIO.

    • Constructor Summary

      Constructors 
      Constructor Description
      DirectByteBufferPool​(int defaultBufferSize, int maxPoolEntries)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.nio.ByteBuffer acquire()  
      void release​(java.nio.ByteBuffer buf)  
      • Methods inherited from class java.lang.Object

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

      • DirectByteBufferPool

        public DirectByteBufferPool​(int defaultBufferSize,
                                    int maxPoolEntries)
    • Method Detail

      • acquire

        public java.nio.ByteBuffer acquire()
        Specified by:
        acquire in interface BufferPool
      • release

        public void release​(java.nio.ByteBuffer buf)
        Specified by:
        release in interface BufferPool