Extensions for kotlinx.coroutines.io.ByteReadChannel


fun ByteReadChannel.deflated(
    gzip: Boolean = true,
    pool: ObjectPool<ByteBuffer> = KtorDefaultPool,
    coroutineContext: <ERROR CLASS> = Dispatchers.Unconfined
): ByteReadChannel

Launch a coroutine on coroutineContext that does deflate compression optionally doing CRC and writing GZIP header and trailer if gzip = true


fun ByteReadChannel.split(
    coroutineScope: CoroutineScope
): Pair<ByteReadChannel, ByteReadChannel>

Split source ByteReadChannel into 2 new one. Cancel of one channel in split(input or both outputs) cancels other channels.


suspend fun ByteReadChannel.toByteArray(): ByteArray

Read channel to byte array.