Text

class Text : Frame

Represents an application level text frame. In a RAW web socket session a big text frame could be fragmented (separated into several text frames so they have fin = false except the last one). Please note that a boundary between fragments could be in the middle of multi-byte (unicode) character so don’t apply String constructor to every fragment but use decoder loop instead of concatenate fragments first. Note that usually there is no need to handle fragments unless you have a RAW web socket session.

Constructors

<init>

Text(text: String)
Text(fin: Boolean, packet: ByteReadPacket)
Text(fin: Boolean, buffer: ByteBuffer)
Text(fin: Boolean, data: ByteArray)

Represents an application level text frame. In a RAW web socket session a big text frame could be fragmented (separated into several text frames so they have fin = false except the last one). Please note that a boundary between fragments could be in the middle of multi-byte (unicode) character so don’t apply String constructor to every fragment but use decoder loop instead of concatenate fragments first. Note that usually there is no need to handle fragments unless you have a RAW web socket session.

Inherited Properties

buffer

val buffer: ByteBuffer

Frame content

data

val data: ByteArray
  • a frame content or fragment content

disposableHandle

val disposableHandle: DisposableHandle

could be invoked when the frame is processed

fin

val fin: Boolean

is it final fragment, should be always true for control frames and if no fragmentation is used

frameType

val frameType: FrameType

enum value

Inherited Functions

copy

fun copy(): Frame

Creates a frame copy

toString

open fun toString(): String

Extension Functions

readText

fun Text.readText(): String

Read text content from text frame. Shouldn’t be used for fragmented frames: such frames need to be reassembled first