refactor: Improve handshake resiliency of peer (#95)

* fix: Synchronize peer logging with a channel

We were depending on the close mutex to properly
report connection state. This ensures the RTC
connection is properly closed before returning.

* Disable pion logging

* Remove buffer

* Try ICE servers

* Remove flushed

* Add diagram explaining handshake

* Fix candidate accept ordering

* Add debug logging to peerbroker

* Fix send ordering

* Lock adding ICE candidate

* Add test for negotiating out of order

* Reduce connection to a single negotiation channel

* Improve test times by pre-installing Terraform

* Lock remote session description being applied

* Organize conn

* Revert to multi-channel setup

* Properly close ICE gatherer

* Improve comments

* Try removing buffered candidates

* Buffer local and remote messages

* Log dTLS transport state

* Add pion logging
This commit is contained in:
Kyle Carberry
2022-01-30 20:11:18 -06:00
committed by GitHub
parent a7d6f4b673
commit 9db5fb0952
14 changed files with 330 additions and 271 deletions

View File

@ -21,6 +21,11 @@ func TestMain(m *testing.M) {
func TestPostgres(t *testing.T) {
t.Parallel()
if testing.Short() {
t.Skip()
return
}
connect, close, err := postgres.Open()
require.NoError(t, err)
defer close()