handleTypedMessage method

  1. @override
Future<void> handleTypedMessage(
  1. Message message
)
override

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);
  }
}