broadcastMessage method
Broadcast a message to all subscribed clients
Implementation
@override
Future<void> broadcastMessage(
Message message, {
List<String>? excludeClientIds,
}) async {
final documentId = message.documentId;
final sessions = List.of(_sessions.values);
for (final session in sessions) {
final isExcluded = excludeClientIds?.contains(session.id) ?? false;
final isSubscribed = session.isSubscribedTo(documentId);
if (!isExcluded && isSubscribed) {
await session.sendMessage(message);
}
}
}