Class ArrayRetainableByteBufferPool

    • Constructor Detail

      • ArrayRetainableByteBufferPool

        public ArrayRetainableByteBufferPool()
      • ArrayRetainableByteBufferPool

        public ArrayRetainableByteBufferPool​(int minCapacity,
                                             int factor,
                                             int maxCapacity,
                                             int maxBucketSize)
      • ArrayRetainableByteBufferPool

        public ArrayRetainableByteBufferPool​(int minCapacity,
                                             int factor,
                                             int maxCapacity,
                                             int maxBucketSize,
                                             long maxHeapMemory,
                                             long maxDirectMemory)
      • ArrayRetainableByteBufferPool

        protected ArrayRetainableByteBufferPool​(int minCapacity,
                                                int factor,
                                                int maxCapacity,
                                                int maxBucketSize,
                                                long maxHeapMemory,
                                                long maxDirectMemory,
                                                java.util.function.Function<java.lang.Integer,​java.lang.Integer> bucketIndexFor,
                                                java.util.function.Function<java.lang.Integer,​java.lang.Integer> bucketCapacity)
    • Method Detail

      • getMinCapacity

        @ManagedAttribute("The minimum pooled buffer capacity")
        public int getMinCapacity()
      • getMaxCapacity

        @ManagedAttribute("The maximum pooled buffer capacity")
        public int getMaxCapacity()
      • acquire

        public RetainableByteBuffer acquire​(int size,
                                            boolean direct)
        Description copied from interface: RetainableByteBufferPool
        Acquires a memory buffer from the pool.
        Specified by:
        acquire in interface RetainableByteBufferPool
        Parameters:
        size - The size of the buffer. The returned buffer will have at least this capacity.
        direct - true if a direct memory buffer is needed, false otherwise.
        Returns:
        a memory buffer.
      • getDirectByteBufferCount

        @ManagedAttribute("The number of pooled direct ByteBuffers")
        public long getDirectByteBufferCount()
      • getHeapByteBufferCount

        @ManagedAttribute("The number of pooled heap ByteBuffers")
        public long getHeapByteBufferCount()
      • getAvailableDirectByteBufferCount

        @ManagedAttribute("The number of pooled direct ByteBuffers that are available")
        public long getAvailableDirectByteBufferCount()
      • getAvailableHeapByteBufferCount

        @ManagedAttribute("The number of pooled heap ByteBuffers that are available")
        public long getAvailableHeapByteBufferCount()
      • getDirectMemory

        @ManagedAttribute("The bytes retained by direct ByteBuffers")
        public long getDirectMemory()
      • getHeapMemory

        @ManagedAttribute("The bytes retained by heap ByteBuffers")
        public long getHeapMemory()
      • getAvailableDirectMemory

        @ManagedAttribute("The available bytes retained by direct ByteBuffers")
        public long getAvailableDirectMemory()
      • getAvailableHeapMemory

        @ManagedAttribute("The available bytes retained by heap ByteBuffers")
        public long getAvailableHeapMemory()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • dump

        public void dump​(java.lang.Appendable out,
                         java.lang.String indent)
                  throws java.io.IOException
        Description copied from interface: Dumpable
        Dump this object (and children) into an Appendable using the provided indent after any new lines. The indent should not be applied to the first object dumped.
        Specified by:
        dump in interface Dumpable
        Parameters:
        out - The appendable to dump to
        indent - The indent to apply after any new lines.
        Throws:
        java.io.IOException - if unable to write to Appendable