ControlMessage class sealed

Base class for every structured control message.

Control messages travel as JSON on WebSocket text frames inside the envelope {"t": <type>, "c": <channelId?>, "d": <payload>}. Each subtype exposes a stable type discriminator, an optional channelId (the c field, set for channel-scoped messages), and a toJson payload (the d field). Decoding is handled by FrameCodec's registry. The hierarchy is sealed so handlers can switch exhaustively.

Implementers
Annotations
  • @immutable

Properties

channelId int?
The channel this message pertains to, or null for connection-level messages (the envelope c field).
no setter
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
type String
The stable type discriminator (the envelope t field).
no setter

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Map<String, dynamic>
The message payload (the envelope d field), without the type or channel.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited