Packages

class StoragePool extends AnyRef

A pool of BytesStorages.

Automatic storage return

The pool uses java.lang.ref.SoftReferences to track the ByteStorages. When a storage is collected by the GC, its underlying java.nio.ByteBuffer is returned to the pool. Thus, a ByteStorage is nothing more than a thin wrapper around a java ByteBuffer, with automatic pooling management.

Manual storage return

You can force a ByteStorage to return to the pool by calling its method BytesStorage.discardNow.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StoragePool
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new StoragePool(poolCapacity: Int, bufferCapacity: Int, isMoreAllocationAllowed: Boolean, isDirect: Boolean, refProcessingPerGet: Int = 2)

    poolCapacity

    the pool's capacity

    bufferCapacity

    the ByteStorages' capacity

    isMoreAllocationAllowed

    true to allocate new buffer when all the poolCapacity storages are used, false to throw an exception

    isDirect

    true to allocate direct buffers, false to allocate on the heap

    refProcessingPerGet

    the maximum number of java.lang.ref.PhantomReferences to collect each time BytesStorage.get is called.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val bufferCapacity: Int
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. def get(): BytesStorage

    Returns a pooled BytesStorage.

    Returns a pooled BytesStorage. If no storage is available, allocates a new one.

    returns

    a free BytesStorage

  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. val isDirect: Boolean
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. val isMoreAllocationAllowed: Boolean
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. val poolCapacity: Int
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped