class DirectByteBufferPool : DefaultPool<ByteBuffer>
DirectByteBufferPool(capacity: Int = DEFAULT_POOL_CAPACITY, bufferSize: Int = DEFAULT_BUFFER_SIZE) |
val bufferSize: Int |
val capacity: Int
Pool capacity. |
fun clearInstance(instance: ByteBuffer): ByteBuffer |
|
fun produceInstance(): ByteBuffer |
|
fun validateInstance(instance: ByteBuffer): Unit |
fun borrow(): T
borrow an instance. Pool can recycle an old instance or create a new one |
|
fun dispose(): Unit
Dispose the whole pool. None of borrowed objects could be used after the pool gets disposed otherwise it can result in undefined behaviour |
|
open fun disposeInstance(instance: T): Unit
Dispose instance and release it's resources |
|
fun recycle(instance: T): Unit
Recycle an instance. Should be recycled what was borrowed before otherwise could fail |
fun <T : Any, R> ObjectPool<T>.
Borrows and instance of T from the pool, invokes block with it and finally recycles it |
|
fun <T : Any, R> ObjectPool<T>.useInstance(block: (T) -> R): R
Borrows and instance of T from the pool, invokes block with it and finally recycles it |