You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Buffers.kt 571B

1234567891011121314
  1. package com.dmdirc.ktirc.io
  2. import kotlinx.io.pool.DefaultPool
  3. import java.nio.ByteBuffer
  4. internal const val BUFFER_SIZE = 32768
  5. internal const val MAXIMUM_POOL_SIZE = 1024
  6. internal val byteBufferPool = ByteBufferPool(MAXIMUM_POOL_SIZE, BUFFER_SIZE)
  7. internal class ByteBufferPool(maximumPoolSize: Int, private val bufferSize: Int) : DefaultPool<ByteBuffer>(maximumPoolSize) {
  8. override fun produceInstance(): ByteBuffer = ByteBuffer.allocate(bufferSize)
  9. override fun clearInstance(instance: ByteBuffer): ByteBuffer = instance.apply { clear() }
  10. }