ktor-network / io.ktor.network.sockets / ReadWriteSocket

ReadWriteSocket

interface ReadWriteSocket : ASocket, AReadable, AWritable

Represents both readable and writable socket

Inherited Properties

socketContext

abstract val socketContext: Job

Represents a socket lifetime, completes at socket closure

Inherited Functions

attachForReading

abstract fun attachForReading(channel: ByteChannel): WriterJob

Attach channel for reading so incoming bytes appears in the attached channel. Only one channel could be attached

attachForWriting

abstract fun attachForWriting(channel: ByteChannel): ReaderJob

Attach channel for writing so bytes written to the attached channel will be transmitted Only one channel could be attached

dispose

open fun dispose(): Unit

Extension Properties

isClosed

val ASocket.isClosed: Boolean

Check if the socket is closed

Extension Functions

awaitClosed

suspend fun ASocket.awaitClosed(): Unit

Await until socket close

openReadChannel

fun AReadable.openReadChannel(): ByteReadChannel

Open a read channel, could be done only once

openWriteChannel

fun AWritable.openWriteChannel(autoFlush: Boolean = false): ByteWriteChannel

Open a write channel, could be opened only once

Inheritors

ConnectedDatagramSocket

interface ConnectedDatagramSocket : ASocket, ABoundSocket, AConnectedSocket, ReadWriteSocket, DatagramReadWriteChannel

Represents a connected datagram socket.

Socket

interface Socket : ReadWriteSocket, ABoundSocket, AConnectedSocket

Represents a connected socket