Commit Graph

26 Commits

Author SHA1 Message Date
Raja Subramanian
d38566850a Do not post close callback in ops queue if not started. (#649)
* Do not post close callback in ops queue if not started.

Ops queue is started in `Bind()`. If `Close()` is called
when bind did not happen (because the underlying peer connection
closed before bind), the close callback does not run.

Check if ops queue is running before posting close callback
into the queue.

Not pretty, but covers this case. Need to think about it more.

* correct check
2022-04-24 11:40:22 +05:30
Raja Subramanian
e138ef3f55 Use error level to get some back trace (#625) 2022-04-19 13:06:47 +05:30
Raja Subramanian
a98d955284 Delta stats throughout (#615)
* 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
2022-04-16 21:11:32 +05:30
Raja Subramanian
c743d2ab3a Warn on ops queue full (#481)
Pass logger so that we can log with proper context.
2022-03-02 19:08:07 +05:30
Raja Subramanian
2959eebca8 Introducing OpsQueue (#463)
* Introducing OpsQueue

Creating a PR to get feedback on standardizing on this concept.

Can be used for callbacks.
Already a couple of places use this construct. Wondering if we
should standardize on this across the board.
Just changing one place to use the new struct. Another place
that I know of which uses this pattern is the telemetry package.

* atomic flag -> bool
2022-02-25 11:56:26 +05:30
David Colburn
289ebd32ff Telemetry refactor (#172)
* telemetry refactor

* fix imports

* update protocol
2021-11-08 20:00:34 -06:00
David Zhao
aa9534b7fb Server-driven connection quality detection (#167) 2021-11-03 21:05:20 -07:00
Mathew Kamkar
84ab0f82af Prometheus counters for RTC connection steps (#143)
* signal ws connection, participant join, ice connection

* must register

* offer negotiation

* dz review: offer and offer_response

* dz review: answer
2021-10-12 15:22:17 -07:00
Mathew Kamkar
b212fb9a9e Prometheus counter for Signal/RTC messages (#139) 2021-10-08 12:02:08 -07:00
David Zhao
797d2607c4 Fix NACK handling in simulcast (fixed in ion-sfu) 2021-10-04 17:17:41 -07:00
Mathew Kamkar
4553695631 get system stats from /proc only on linux (#96) 2021-08-27 13:15:02 -07:00
David Colburn
8a44fad307 protocol 0.8 (#95)
* protocol 0.8

* merge new selector
2021-08-27 13:16:33 -05:00
Mathew Kamkar
f9590afe1a include packet and system info with node stats (#92)
* include packet and system info with node stats

* add more packet and system stats

* revert magefile, clean up system stats error handling

* update procol version

* dz review: error return
2021-08-25 12:04:28 -07:00
Mathew Kamkar
f5466c74e6 list-nodes command action (#87)
* list-nodes command action

* refactor stats into a package

* store existing stats in redis, more refactoring

* dz review: atomic load
2021-08-24 10:14:39 -07:00
David Zhao
7d02c01fd8 refactor - moved common code to livekit/protocol 2021-03-13 22:01:51 -08:00
David Zhao
b52354623c use hostname instead of MAC address to work with docker environments 2021-02-17 17:51:54 -08:00
David Zhao
090f8d0664 use dedicated PeerConnections for sending and receiving (#19)
* protobuf updates to support new protocol

* use dedicated publish & subscribe peerconnections

* update client to work with dedicated PCs

* fix Go client negotiation, reduced length of UUID
2021-02-12 22:30:31 -08:00
David Zhao
dd8a1a5055 use atomic.Load to ensure atomicity 2021-01-28 23:40:30 -08:00
David Zhao
ed0b9db655 avoid sending to closed channels 2021-01-26 21:45:00 -08:00
David Zhao
458241d1f1 config rework to handle distributed setup, fixed redis bugs 2021-01-17 17:06:50 -08:00
David Zhao
30e99e8c6b redis based router & roomstore 2021-01-17 00:12:05 -08:00
David Zhao
353f35443a API key generator, using YAML format instead of hand rolled parser 2020-12-27 00:01:19 -08:00
David Zhao
804b7cb332 JWT token based auth 2020-12-25 22:31:11 -08:00
David Zhao
0dcfffb9d8 remove all forwarders when source track is closed 2020-12-04 23:28:50 -08:00
David Zhao
bca8090b41 correctly send participant updates 2020-12-02 00:53:16 -08:00
David Zhao
bea1a87cb8 updated flow, room & participant id created by server 2020-11-28 00:18:34 -08:00