rust-sdks
rust-sdks copied to clipboard
Introduce the ParticipantActive event
Summary of changes:
- Adds RoomEvent::ParticipantActive
- Exposes participant state
Going forward, users who are publishing data in response to participants joining should respond to the new ParticipantActive event rather than the existing ParticipantConnected event. Note that "publishing data" in this context includes any of the following:
- Invoking RPC methods on remote participants
- Opening data streams (text or byte)
- Publishing user packets
This addresses the potential race condition that can occur when participant A publishes data in response to participant B joining. Previously, it was determined the E2E DC reliability improvements in #688 were sufficient to address this condition. However, testing reveals when participant A sends large data payloads in response to many participants joining, the SFU cache can become saturated, leading to dropped packets.