ControlMessage class sealed

Base type for the JSON messages exchanged during the OmnyServer handshake — the challenge/response that runs on a freshly-opened control connection, before the omnyhub node protocol takes over.

This is deliberately small. Registration, heartbeats, discovery and RPC are omnyhub's (NodeRegister, Heartbeat, NodeQuery, NodeRequest, …); what remains here is the part omnyhub has no opinion about: proving who the peer is. Operations ride in NodeRequest/NodeResponse payloads and are declared in operations.dart.

Each message is a final class with a stable type discriminator and a symmetric toJson/fromJson. The hierarchy is sealed so the codec and the handshake can switch exhaustively.

Implementers

Properties

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 (e.g. auth.challenge).
no setter

Methods

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

Operators

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