All Types

io.ktor.utils.io.core.AbstractInput

The default abstract base class implementing Input interface.

io.ktor.utils.io.core.AbstractOutput

The default Output implementation.

kotlin.Any (extensions in package io.ktor.utils.io)
io.ktor.utils.io.core.Buffer

Represents a buffer with read and write positions.

io.ktor.utils.io.core.BufferLimitExceededException
kotlin.ByteArray (extensions in package io.ktor.utils.io.bits)
java.nio.ByteBuffer (extensions in package io.ktor.utils.io.bits)
java.nio.ByteBuffer (extensions in package io.ktor.utils.io.charsets)
io.ktor.utils.io.pool.ByteBufferPool
io.ktor.utils.io.ByteChannel

Channel for asynchronous reading and writing of sequences of bytes. This is a buffered single-reader single-writer channel.

io.ktor.utils.io.ByteChannelSequentialBase

Sequential (non-concurrent) byte channel implementation

io.ktor.utils.io.ByteChannelSequentialJVM
io.ktor.utils.io.core.ByteOrder
io.ktor.utils.io.core.BytePacketBuilder

A builder that provides ability to build byte packets with no knowledge of it's size. Unlike Java's ByteArrayOutputStream it doesn't copy the whole content every time it's internal buffer overflows but chunks buffers instead. Packet building via build function is O(1) operation and only does instantiate a new ByteReadPacket. Once a byte packet has been built via build function call, the builder could be reused again. You also can discard all written bytes via reset or release. Please note that an instance of builder need to be terminated either via build function invocation or via release call otherwise it will cause byte buffer leak so that may have performance impact.

io.ktor.utils.io.core.BytePacketBuilderBase
io.ktor.utils.io.core.BytePacketBuilderPlatformBase
io.ktor.utils.io.ByteReadChannel

Channel for asynchronous reading of sequences of bytes. This is a single-reader channel.

io.ktor.utils.io.core.ByteReadPacket

Read-only immutable byte packet. Could be consumed only once however it does support copy that doesn't copy every byte but creates a new view instead. Once packet created it should be either completely read (consumed) or released via release.

io.ktor.utils.io.core.ByteReadPacketBase
io.ktor.utils.io.core.ByteReadPacketPlatformBase
io.ktor.utils.io.ByteWriteChannel

Channel for asynchronous writing of sequences of bytes. This is a single-writer channel.

io.ktor.utils.io.CancellationException
java.nio.charset.Charset (extensions in package io.ktor.utils.io.charsets)
java.nio.charset.CharsetDecoder (extensions in package io.ktor.utils.io.charsets)
java.nio.charset.CharsetEncoder (extensions in package io.ktor.utils.io.charsets)
io.ktor.utils.io.charsets.Charsets
io.ktor.utils.io.core.internal.ChunkBuffer
io.ktor.utils.io.core.Closeable
io.ktor.utils.io.ClosedWriteChannelException

Indicates attempt to write on isClosedForWrite channel that was closed without a cause. A failed channel rethrows the original close cause exception on send attempts.

io.ktor.utils.io.ConsumeEachBufferVisitor

Visitor function that is invoked for every available buffer (or chunk) of a channel. The last parameter shows that the buffer is known to be the last.

kotlinx.coroutines.CoroutineScope (extensions in package io.ktor.utils.io)
io.ktor.utils.io.core.internal.DangerousInternalIoApi

API marked with this annotation is internal and extremely fragile and not intended to be used by library users. Such API could be changed without notice including rename, removal and behaviour change. Also using API marked with this annotation could cause data loss or any other damage.

io.ktor.utils.io.pool.DefaultPool

Default object pool implementation.

io.ktor.utils.io.pool.DirectByteBufferPool
kotlin.Double (extensions in package io.ktor.utils.io.bits)
io.ktor.utils.io.core.EOFException
io.ktor.utils.io.errors.EOFException
io.ktor.utils.io.core.ExperimentalIoApi

API marked with this annotation is experimental and could be changed

kotlin.Float (extensions in package io.ktor.utils.io.bits)
io.ktor.utils.io.errors.IOException
io.ktor.utils.io.core.Input

Usually shouldn't be implemented directly. Inherit AbstractInput instead.

java.io.InputStream (extensions in package io.ktor.utils.io.jvm.javaio)
java.io.InputStream (extensions in package io.ktor.utils.io.streams)
io.ktor.utils.io.core.InsufficientSpaceException
kotlin.Int (extensions in package io.ktor.utils.io.bits)
io.ktor.utils.io.core.IoBuffer

A read-write facade to actual buffer of fixed size. Multiple views could share the same actual buffer. Concurrent unsafe. The only concurrent-safe operation is release. In most cases ByteReadPacket and BytePacketBuilder should be used instead.

kotlin.Long (extensions in package io.ktor.utils.io.bits)
io.ktor.utils.io.LookAheadSession
io.ktor.utils.io.LookAheadSuspendSession
io.ktor.utils.io.charsets.MalformedInputException
io.ktor.utils.io.core.internal.MalformedUTF8InputException
io.ktor.utils.io.bits.Memory

Represents a linear range of bytes. All operations are guarded by range-checks by default however at some platforms they could be disabled in release builds.

io.ktor.utils.io.pool.NoPoolImpl

A pool implementation of zero capacity that always creates new instances

io.ktor.utils.io.pool.ObjectPool
io.ktor.utils.io.core.Output

This shouldn't be implemented directly. Inherit AbstractOutput instead.

java.io.OutputStream (extensions in package io.ktor.utils.io.streams)
java.nio.channels.Pipe (extensions in package io.ktor.utils.io.jvm.nio)
io.ktor.utils.io.ReadSession
java.nio.channels.ReadableByteChannel (extensions in package io.ktor.utils.io.jvm.nio)
java.nio.channels.ReadableByteChannel (extensions in package io.ktor.utils.io.nio)
io.ktor.utils.io.ReaderJob

A coroutine job that is reading from a byte channel

io.ktor.utils.io.ReaderScope
kotlin.Short (extensions in package io.ktor.utils.io.bits)
io.ktor.utils.io.pool.SingleInstancePool

A pool that produces at most one instance

kotlin.String (extensions in package io.ktor.utils.io.core)
io.ktor.utils.io.SuspendableReadSession
kotlin.Throwable (extensions in package io.ktor.utils.io)
io.ktor.utils.io.charsets.TooLongLineException
java.nio.channels.WritableByteChannel (extensions in package io.ktor.utils.io.nio)
io.ktor.utils.io.WriterJob

A coroutine job that is writing to a byte channel

io.ktor.utils.io.WriterScope
io.ktor.utils.io.WriterSession
io.ktor.utils.io.WriterSuspendSession