Instead of launching a background thread in each session to send pulses, we now use a single thread in the Client to send pulses for all of its sessions. This allows the client to handle a much larger number of sessions than it previously could.
What are the changes implemented in this PR?
Changeset
Move session pulse transmitter to the Client - fixes an issue where spawning a session always spawned a new thread, and it would stick around for at least 5 seconds
Fixed a bug where closing many sessions concurrently could throw a concurrent modification error
What is the goal of this PR?
Instead of launching a background thread in each session to send pulses, we now use a single thread in the Client to send pulses for all of its sessions. This allows the client to handle a much larger number of sessions than it previously could.
What are the changes implemented in this PR?
Changeset
Fixes