handleTypedMessage method
Handle a protocol message, after plugin dispatch.
Implementations should ignore message types they do not handle. Thrown errors are reported as SessionEventType.error events.
Implementation
@override
Future<void> handleTypedMessage(Message message) async {
switch (message.type) {
case MessageType.handshakeRequest:
return _handleHandshakeRequest(
message as HandshakeRequestMessage,
);
case MessageType.change:
final changeMessage = message as ChangeMessage;
return _handleChangesMessage(
changes: [changeMessage.change],
documentId: changeMessage.documentId,
);
case MessageType.changes:
final changesMessage = message as ChangesMessage;
return _handleChangesMessage(
changes: changesMessage.changes,
documentId: changesMessage.documentId,
);
case MessageType.documentStatusRequest:
return _handleDocumentStatusRequest(
message as DocumentStatusRequestMessage,
);
case MessageType.ping:
return _handlePingMessage(message as PingMessage);
}
}