-
Notifications
You must be signed in to change notification settings - Fork 1.2k
WebRTC Direct transport implementation #2337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
86 commits
Select commit
Hold shift + click to select a range
d188b28
WebRTC transport implementation
ckousik e6d7d9f
webrtc: cleanup internal mess
marten-seemann 8813f04
webrtc: clean up messy hex table used for SDP encoding
marten-seemann 49148cf
webrtc: clean up messy SDP decoding
marten-seemann ca7e256
webrtc: dissolve messy internal packages
marten-seemann 3078315
webrtc: fix incorrect protocol registration
marten-seemann 5176981
webrtc: remove incorrect call to ConnectionGater.InterceptAddrDial
marten-seemann 633db08
webrtc: add missing call to ConnectionGater.InterceptSecured for dialing
marten-seemann 12520be
webrtc: don't include the certhash in Connection.RemoteMultiaddr
marten-seemann ed1c137
webrtc: add missing call to ConnectionGater.InterceptAccept
marten-seemann e5fc8e7
webrtc: add missing call to ConnectionGater.InterceptSecured
marten-seemann 6ccf888
webrtc: fix rcmgr OpenConnection call claiming that it uses a fd
marten-seemann 233addb
webrtc: fix dial matcher
marten-seemann b971d4c
webrtc: rewrite super messy in-flight limiting test case
marten-seemann e009685
webrtc: speed up messy connection failure test
marten-seemann 65821bc
webrtc: fix convoluted use of TestMain
marten-seemann 4a75582
webrtc: fix messy and flaky TestReceiveFlagsAfterReadClosed
marten-seemann 35ff94d
webrtc: remove unused context from packetQueue.Push
marten-seemann 8a9dd50
webrtc: remove errEmptyPacketQueue
marten-seemann 75718f2
webrtc: remove nonsensical comment from packetQueue.Pop
marten-seemann b2f2944
webrtc: remove option to perform partial reads from packet queue
marten-seemann 827d756
webrtc: remove unneeded errPacketQueueClosed
marten-seemann 8674088
webrtc: remove unused udpMuxStorage.GetConn
marten-seemann c7c0f1d
webrtc: remove unused special case for a nil unknownUfragCallback
marten-seemann ddec80c
webrtc: clean up and fix error handling in udpMux.processPacket
marten-seemann 07449bc
webrtc: fix go-log logger name for the udpmux
marten-seemann 0fed1f4
webrtc: clean up connection closing for the muxedConnection
marten-seemann e96e711
webrtc: allow multiple calls to muxedConnection.Close
marten-seemann 22e81a0
webrtc: fix construction of listener multiaddresses
marten-seemann 8826c90
webrtc: rewrite the connection timeout test
marten-seemann fe6eca7
webrtc: remove custom definition of timeout error
marten-seemann dd959d4
webrtc: use a callback to remove closed streams from the streams map
marten-seemann 615da30
webrtc: remove nonsensical context value in Noise handshake error
marten-seemann 505053e
webrtc: add missing error check when setting the remote's description
marten-seemann 5af980b
webrtc: clean up messy TestTransportWebRTC_PeerConnectionDTLSFailed
marten-seemann c89798b
webrtc: set the ICEPrflxAcceptanceMinWait to 0 when dialing
marten-seemann 514172b
webrtc: giant stream refactor
marten-seemann 96a65b0
webrtc: remove debug identifier from connection
marten-seemann 12c0335
transport tests: add WebRTC
marten-seemann 06a8100
webrtc: rename some variables and types in the connection
marten-seemann f2dd0a2
webrtc: fix incorrect use of stream IDs, simplify
marten-seemann 2a76e26
webrtc: only send STOP_SENDING from receiving read stream state
marten-seemann 482b350
webrtc: set read and write deadline on stream.SetDeadline
marten-seemann d55e0e3
webrtc: use a single stream mutex, prevent (0, nil) Read return values
marten-seemann 72ca0f9
tests: use errors.As for error assertion in TestStreamReadDeadline
marten-seemann 6e687cb
tests: close hosts in gating tests
marten-seemann aaee47f
webrtc: disable TestManyStreams
marten-seemann f0335bb
webrtc: fix staticcheck
marten-seemann 43a6041
transport tests: fix deadline error assertion
marten-seemann cee6a48
webrtc: fix flaky stream deadline test
marten-seemann f70e53f
transport tests: fix panic when opening stream fails
marten-seemann d02bc44
webrtc: fix race condition when starting the UDP muxer
marten-seemann da4a4f5
transport tests: skip TestMoreStreamsThanOurLimits on WebRTC
marten-seemann 2e5f5e9
metrics: enable metrics for /webrtc-direct multiaddrs
marten-seemann b19f11f
webrtc: fix error return value of stream.Read when stream is reset
marten-seemann 5647b27
webrtc: remove unused function parameter in udpMuxStorage.RemoveConnB…
marten-seemann 6a22174
webrtc: use the same log level for the pion logger
marten-seemann 305ef47
webrtc: shorten package comment, move it to transport.go
marten-seemann 665ed52
webrtc: use a uniform random distribution for ufrag generation
marten-seemann d53c36d
webrtc: improve documentation of UDPMux
marten-seemann e1bd40d
webrtc: use an error return value on the unknownUfragCallback
marten-seemann edf501c
webrtc: improve error logging in UDPMux packet handling
marten-seemann 340b882
webrtc: remove skipped TestWebrtcTransport test
marten-seemann de0bbc9
webrtc: fix transport name in ConnectionState
marten-seemann c262c64
webrtc: remove unused local and remote address from stream
marten-seemann 1b47936
webrtc: remove nonsensical comments in the muxed connection
marten-seemann 71d3818
webrtc: fix ambiguous naming of address function in muxed connection
marten-seemann 351cadc
webrtc: remove stray fmt.Println in listener
marten-seemann 256118c
webrtc: only handle net.UDPAddrs in the UDPMux
marten-seemann cc05d43
webrtc: rename awaitPeerConnectionOpen to something sensible, add docs
marten-seemann 94fb351
webrtc: test it on multidim interop
marten-seemann 9a89838
webrtc: return the correct error for a closed listener
marten-seemann dadb877
transport test: refactor TestDiscoverPeerIDFromSecurityNegotiation to…
marten-seemann 2944377
webrtc: fix peer ID validation when dialing
marten-seemann 2377b24
webrtc: refactor to get rid of the messy unknownUfragCallback
marten-seemann c388653
interop: enable the WebRTC transport
marten-seemann 0be0e65
webrtc: move the udpMuxStorage into the UDPMux
marten-seemann f674480
webrtc: mark the transport as experimental (#2525)
marten-seemann 0875a06
webrtc: fix race condition when closing
marten-seemann 9032331
webrtc: add comment for controlMsgSize hack
marten-seemann dd0e159
webrtc: use a channel instead of a custom packet queue implementation
marten-seemann 88ea49d
webrtc: simplify super messy IP logic in tests
marten-seemann f15181e
webrtc: remove connections from UDP mux if connection setup fails
marten-seemann a1644b1
webrtc: drain the packet queue when the connection is closed
marten-seemann 2f62254
transport tests: relax InterceptAccept counter for WebRTC
marten-seemann 4a6e726
webrtc: don't close stream, but limit to 512 streams per direction
marten-seemann File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.