onSessionClosed method

  1. @override
void onSessionClosed(
  1. ClientSession session
)
override

Called when session is closed.

Implementation

@override
void onSessionClosed(ClientSession session) {
  final documentIds = _documentAwareness.keys.toList();
  for (final documentId in documentIds) {
    final awareness = _documentAwareness[documentId]!;
    if (awareness.states.containsKey(session.id)) {
      _documentAwareness[documentId] =
          awareness.copyWithRemovedClient(session.id);

      _broadcastAwarenessState(documentId);

      _updateController(
        ServerAwarenessEvent(
          type: ServerAwarenessEventType.clientLeft,
          documentId: documentId,
          clientId: session.id,
        ),
      );
    }
  }
}