getOnlineParticipants method
Iterable<Participant>
getOnlineParticipants(
- MeshDocument document
)
Implementation
Iterable<Participant> getOnlineParticipants(MeshDocument document) sync* {
final room = _requireRoom('Resolving online participants');
final seenParticipantIds = <String>{};
for (final participantName in getParticipantNames(document)) {
if (participantName == room.localParticipant?.getAttribute("name")) {
final localParticipant = room.localParticipant;
if (localParticipant != null && seenParticipantIds.add(localParticipant.id)) {
yield localParticipant;
}
}
for (final part in room.messaging.remoteParticipants.where((x) => x.getAttribute("name") == participantName)) {
if (seenParticipantIds.add(part.id)) {
yield part;
}
}
}
}