Commit Graph

46 Commits

Author SHA1 Message Date
sukun
28adb77ee6 Fix Mux logging on Close 2024-09-10 17:43:18 +05:30
sukun
1a214d2fcb Use Mutex for Mux
We only read from one goroutine, the RWMutex doesn't help improve
performance in this case
2024-09-10 17:43:18 +05:30
Sean DuBois
3aab0355e0 Upgrade dtls, ice, stun and turn
New major version of all packages caused by DTLS upgrade
2024-08-12 13:45:35 -04:00
Eric Daniels
78c8a2e07c Add PeerConnection.GracefulClose 2024-08-06 09:51:54 -04:00
lactyy
cbe3465c8b Adding pendingQueue to internal/mux
Buffer a small amount of packets in the internal/mux to allow remotes to
send DTLS traffic before ICE has completed
2024-08-01 23:11:35 -04:00
Sean DuBois
f388de6581 Update module github.com/pion/dtls/v2 to v3
Generated by renovateBot
2024-07-25 11:16:12 -05:00
Sean DuBois
60eea430ac Close PeerConnection on DTLS CloseNotify
Resolves #1767
Resolves pion/dtls#151
2023-09-05 04:52:17 -04:00
renovate[bot]
ea23dec2b9 Update module transport, srtp, ice and turn
ReplayDetector introduced a breaking change
2023-09-03 23:59:43 -04:00
Steffen Vogel
683fc837d0 Make repo REUSE compliant 2023-05-05 11:58:49 -04:00
Pion
308f8616a3 Update CI configs to v0.10.6
Update lint scripts and CI configs.
2023-04-08 14:24:19 -04:00
Steffen Vogel
eafdc7742a Use new pion/transport Net interface
This change adapts pion/ice to use a new interface for most network
related operations. The interface was formerly a simple struct vnet.Net
which was originally intended to facilicate testing. By replacing it
with an interface we have greater flexibility and allow users to hook
into the networking stack by providing their own implementation of
the interface.
2023-02-09 09:39:33 +01:00
Pion
5b4afbb934 Update CI configs to v0.7.5
Update lint scripts and CI configs.
2022-05-09 12:08:35 -04:00
rob
1368fe899e Drop packets when buffer is full in mux
Resolves #2180
2022-04-20 00:34:59 -04:00
Sean DuBois
c8ae82a0bd Unlock on error in internal/mux
Resolves #2154
2022-03-21 15:58:53 -04:00
rob
93b0f2a75e Wait and re-try when Mux destination ErrFull
Resolves #2152
2022-03-20 17:25:25 -07:00
Antoine Baché
7e049ec5ec Update examples
TestNonFatalRead now has an timeout.
Examples now use Mime types, instead of raw strings.

Fixes #839
2021-07-02 11:49:55 -04:00
Juliusz Chroboczek
d625f6f637 Optimise mux.dispatch
Uncurry the function MuxRange and avoid allocating a reader in
isRTCP.  The included benchmark indicates that we avoid five
allocations per packet.
2021-05-07 11:09:09 -07:00
Sean DuBois
dab8a4a104 Handle errors properly in mux readLoop
Before io.ErrShortBuffer and packetio.ErrTimeout would incorrectly end
the read loop. Now they are only printed.

Resolves #1720
2021-03-22 11:16:11 -07:00
Sean DuBois
9c345e24b6 Remove unused functions from internal/mux
Related to #1720
2021-03-22 11:16:11 -07:00
Sean DuBois
9715626a0c Revert "Read/Write RTP/RTCP packets with context"
This change caused a ~24% performance decrease

Relates to pion/webrtc#1564

This reverts commit 47a7a64898.
2020-12-02 20:11:06 -08:00
Atsushi Watanabe
47a7a64898 Read/Write RTP/RTCP packets with context
Control cancel/timeout by context.
2020-12-01 11:08:48 +09:00
Sean DuBois
804a12fed3 Update CI configs to v0.4.7
Update lint scripts and CI configs.
2020-09-30 09:06:34 -07:00
Henry
940d6aae86 Update pion/quic binings
* fix gathering for quic transport test
* quic e2e test: make sure data is received
* fix loggingFactory setup
* CI: add '-tags quic' in 'go test'
* CI: add --build-tags to golangci-lint.
* use latest pion/quic@v0.1.2
2020-07-25 15:57:47 -07:00
Sean DuBois
bb3aa9717f Move to pion/ice@v2
Removed support for trickle ice

Resolves #1274
2020-06-28 00:01:47 -07:00
Atsushi Watanabe
27d9bbb7bd Upgrade golangci-lint to 1.19.1
Fix whitespace and stylecheck errors.
Disable godox.
2020-01-11 22:59:33 -08:00
Hugo Arregui
6997cc792c Linter fixes
Disable funlen and some fixes

Co-authored-by: Sean DuBois <sean@siobud.com>
2019-09-10 21:48:25 -07:00
Hongchao Ma
0e257f6c3d Fix crash in mux logging
Check buffer length is 0 or not, display a different error message
if we have no contents to display
2019-09-08 03:53:49 -04:00
Sean DuBois
10d2ca3d88 Enable gochecknoglobals linter
Resolves #434
2019-07-09 23:31:56 +01:00
Sean DuBois
0d773a38f6 Don't error when no candidate pairs
Fix inconsistency with error handling when we have no candidate pairs.
Before we had custom code in RTP handling that would discard errors
if it was because we had no candidate pairs. Move this logic into the
mux so we have consistent behavior with Datachannels

This can be expected and is a soft failure. Every subsystem is expected
to handle lossy communication.

Resolves #706
2019-06-08 17:51:18 -07:00
Sean DuBois
1cdfc10c84 Mass replace pions -> pion
Pions organization was renamed to pion
2019-04-04 15:32:03 -07:00
Hugo Arregui
87897285b1 Custom Loggers
Define LoggerFactory as part of the SettingEngine
2019-04-01 11:14:13 -03:00
backkem
bcdbc35ce6 Reduce global state
Relates to #434
2019-03-21 12:48:57 +01:00
backkem
fe0e4d692b Move logging out of tree
Relates to #361
2019-03-21 12:48:57 +01:00
Luke Curley
08a93d89ba Optimize Read by buffering
Increases the Read performance to acceptable levels. Packet loss went
from roughly 8% to 0.5% with this change.
2019-03-12 21:34:48 -07:00
Sean DuBois
005c731b9b Fix deadlock on DTLS shutdown
DTLS shutdown deadlocks if Close is called before startup completes,
because the DTLS connection hasn't finished yet we don't have handles
to close anything.

This updates DTLS to follow how SCTP is shutdown, by shutting down the
nextConn (ICE in this case) we can shutdown the subsystem. By closing
ICE first, DTLS (and then SCTP) close properly no matter what state
they are in.

Resolves #487
2019-03-07 11:48:40 +01:00
Sean DuBois
632b16b852 Update golangci-lint to v14.0.0
Update linter to newest version and fix all new issues
2019-02-17 21:35:04 -08:00
backkem
cecdc46705 Mux: Don't lock during dispatch
Changes the mux dispatch logic to hold the mux lock less long.
2019-01-23 23:17:26 +01:00
backkem
ba05cd5224 ORTC: Improve test coverage
Relates to #273
2019-01-08 13:43:49 -08:00
Woodrow Douglass
bd75c3381e Add some tests to improve coverage
Relates to #324
2019-01-07 13:11:27 -08:00
Sean DuBois
0f0dd62eb0 SRTP and SRTCP are now supported using *Session
Relates to #272
2019-01-03 11:56:00 -08:00
John R. Bradley
7091edaa97 Mux: Fix Mux.dispatch deadlock #2
Relates to #276
2018-12-20 01:28:49 -05:00
backkem
e95c4f7add Mux: Fix Mux.dispatch deadlock
Relates to #276
2018-12-20 01:28:49 -05:00
backkem
bd10909a6a SCTP: Shutdown
Relates to #276
2018-12-20 01:28:49 -05:00
backkem
2024438da0 Mux: Test shutdown
Relates to #276

d
2018-12-20 01:28:49 -05:00
backkem
97f538a6f2 Add PeerConnection Close test
Relates to #276
2018-12-20 01:28:49 -05:00
backkem
9897ba46c7 Refactor DTLS/SRTP muxing
Relates to #272
2018-12-10 22:17:50 +01:00