Package io.ktor.utils.io.jvm.nio

Functions

Link copied to clipboard
suspend fun ByteReadChannel.copyTo(pipe: Pipe, limit: Long = Long.MAX_VALUE): Long

Copy up to limit bytes to blocking pipe. A shortcut to copyTo function with NIO channel destination

suspend fun ByteReadChannel.copyTo(channel: WritableByteChannel, limit: Long = Long.MAX_VALUE): Long

Copy up to limit bytes to blocking NIO channel. Copying to non-blocking channel requires selection and not supported. It does suspend if no data available in byte channel but may block if destination NIO channel blocks.

suspend fun Pipe.copyTo(ch: ByteWriteChannel, limit: Long = Long.MAX_VALUE): Long

Copies up to limit bytes from a blocking NIO pipe to CIO ch. A shortcut to copyTo with NIO readable channel receiver

suspend fun ReadableByteChannel.copyTo(ch: ByteWriteChannel, limit: Long = Long.MAX_VALUE): Long

Copies up to limit bytes from blocking NIO channel to CIO ch. It does suspend if no space available for writing in the destination channel but may block if source NIO channel blocks.