* Use delta stats throughout and avoid calculating deltas in telemetry
* Fix a few things after testing
* Remove debug
* Fix tests
* delete instead of setting to nil
* Point to the latest protocol
* Telemetry and webhook improvements.
* avoid blocking on telemetry channel - increase channel size and drop when full
* send ParticipantJoined webhook when fully joined (i.e. on ParticipantActive)
* send TrackPublished & TrackUnpublished webhooks
* increase number of parallel webhook workers to 50
* update protocol
It allows all actions/events to run in the same go routine.
Therefore no synchronization primitives are needed inside
telemetry service implementation.
* Make TelemetryService testable
Timer is extracted for better testability of telemetryservice.
Divided TelemetryService to internal part that:
- contains business logic
- does not contain timer
- and therefore testable
and external part that:
- does not contain business logic
- contains timer to send analytics every 10 seconds for all participants.
- does not need tests
* Add Test_AnalyticsSentWhenParticipantLeaves
* Fix test