Allow to prepare virtual participants without immediately joining the call #8546
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently Talkbuchet offers the method
addVirtualParticipant()
andaddVirtualParticipants(NUMBER)
. Those methods directly start a virtual participant, therefore joining the call sequentially. This is fine if you want to use Talkbuchet for testing with multiple participants in a call, but is not sufficient if you want to let an arbitrary number of participants join/leave at the same time (e.g. to test performance of layout calculations being done when multiple participants join/leave at once).This PR extends
Talkbuchet.py
with the following methods:prepareVirtualParticipant()
prepareVirtualParticipants(NUMBER)
startVirtualParticipants()
startVirtualParticipantsParallel()
stopVirtualParticipants()
stopVirtualParticipantsParallel()
while still keeping the previous functionality of
addVirtualParticipant()
/addVirtualParticipants(NUMBER)
.Basically the
prepare*
methods spin up the virtual participant, but does not join any call. You can prepare as many participants as you want (or your machine is able to handle) and then let them join "at once". UsingstartVirtualParticipants()
will start each virtual participant in sequence, waiting for the previous one to finish its start. This is still faster than usingaddVirtualParticipant*
, because every virtual participant is already up, but still not enough to simulate a parallel join/leave. For this you can usestartVirtualParticipantsParallel()
, which calls the start of each virtual participant in its own thread.Example: