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