Package io.ktor.http.cio.websocket
Types
data class CloseReason Websocket close reason |
|
expect interface DefaultWebSocketSession : WebSocketSession Default websocket session with ping-pong and timeout processing and built-in closeReason population |
|
class DefaultWebSocketSessionImpl : Default web socket session implementation that handles ping-pongs, close sequence and frame fragmentation |
|
sealed expect class Frame A frame received or ready to be sent. It is not reusable and not thread-safe |
|
class FrameParser |
|
enum class FrameType Frame types enum |
|
class RawWebSocket : WebSocketSession Represents a RAW web socket session |
|
class Serializer |
|
class SimpleFrameCollector |
|
class WebSocketReader : CoroutineScope Class that continuously reads a byteChannel and converts into Websocket Frame exposing them in incoming. |
|
expect interface WebSocketSession : CoroutineScope Represents a web socket session between two peers |
|
class WebSocketWriter : CoroutineScope Class that processes written outgoing Websocket Frame, serializes them and writes the bits into the writeChannel. |
Annotations
annotation class WebSocketInternalAPI API marked with this annotation is internal and not intended to be used outside of ktor It is not recommended to use it as it may be changed in the future without notice or it may be too low-level so could damage your data. |
Extensions for External Classes
Properties
var DefaultWebSocketServerSession.pingInterval: Duration? Ping interval or |
|
var DefaultWebSocketServerSession.timeout: Duration A timeout to wait for pong reply to ping otherwise the session will be terminated immediately.
It doesn’t have any effect if pingInterval is |
Functions
expect fun DefaultWebSocketSession( Create DefaultWebSocketSession from session. |
|
suspend fun WebSocketSession.close(reason: CloseReason): Unit Send a close frame with the specified reason. May suspend if outgoing channel is full or may throw an exception if it is already closed. The specified reason could be ignored if there was already close frame sent (for example in reply to a peer close frame). |
|
fun |
|
fun |
|
Read binary content from a frame. For fragmented frames only returns this fragment. |
|
fun Close.readReason(): CloseReason? Read close reason from close frame or null if no close reason provided |
|
Read text content from text frame. Shouldn’t be used for fragmented frames: such frames need to be reassembled first |
|
suspend fun DefaultWebSocketSession.run( |
|
suspend fun WebSocketSession.send(content: String): Unit Enqueues a text frame for sending with the specified content. suspend fun WebSocketSession.send(content: ByteArray): Unit Enqueues a final binary frame for sending with the specified content. |
|
suspend fun RawWebSocket.start( |