SessionEndMessage class

The coordinator telling nodes that the session is over for them.

The counterpart to NodeLeavingMessage: that one is a participant saying "I am going", this one is the coordinator saying "we are done". Without it a coordinator's departure is indistinguishable from a network stall, and the survivors have to wait out CoordinationSessionConfig.nodeTimeout to find out.

targetNodeUId narrows it to one node — used for eviction, since coordination traffic has no addressing of its own and a coordinator's message reaches everyone. Null means the whole session.

Inheritance

Constructors

SessionEndMessage({required String fromNodeUId, required SessionEndReason reason, String? targetNodeUId, String? messageId, String? parentMessageId, DateTime? timestamp, Map<String, dynamic>? metadata})
SessionEndMessage.fromMap(Map<String, dynamic> map)
factory

Properties

fromNodeUId → String
finalinherited
hashCode → int
The hash code for this object.
no setterinherited
messageId → String
finalinherited
metadata → Map<String, dynamic>
finalinherited
parentMessageId → String?
finalinherited
reason → SessionEndReason
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
senderClock → double?
no setterinherited
targetNodeUId → String?
The node this applies to, or null for every node in the session.
final
timestamp → DateTime
finalinherited
transportTiming ↔ MessageTiming?
Transport-observed timing for the message this was decoded from.
getter/setter pairinherited
type → CoordinationMessageType
finalinherited

Methods

addressedTo(String nodeUId) → bool
Whether nodeUId should act on this message.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → String
inherited
toMap() → Map<String, dynamic>
override
toString() → String
A string representation of this object.
inherited

Operators

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