Package kotlinx.coroutines.experimental.io.jvm.nio

Extensions for External Classes

java.nio.channels.Pipe

java.nio.channels.ReadableByteChannel

Functions

copyTo

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 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