28 Commits

Author SHA1 Message Date
Joe Turki
22cf05c358 Upgrade to golangci-lint@v2 2025-08-16 18:31:44 +03:00
Joe Turki
740e5166c5 Update lint rules, force testify/assert for tests
Use testify's assert package instead of the standard library's testing
package.
2025-03-27 12:08:37 +02:00
Joe Turki
feeeebf251 Upgrade golangci-lint, more linters
Introduces new linters, upgrade golangci-lint to version (v1.63.4)
2025-01-18 07:16:06 -06:00
Eric Daniels
9a61d68237 Fix concurrent pc.GracefulClose 2024-08-26 10:50:45 -04:00
Pion
752e442994 Update CI configs to v0.11.15
Update lint scripts and CI configs.
2024-08-16 14:13:11 -04:00
Eric Daniels
d10ba36a5b Add TestPeerConnection_GracefulCloseWhileOpening 2024-08-14 14:47:16 -04:00
Eric Daniels
78c8a2e07c Add PeerConnection.GracefulClose 2024-08-06 09:51:54 -04:00
Sean DuBois
e17ce04589 Revert 7c8bfbd44a and add test
Don't block Close on spawned goroutines
2024-07-15 11:26:21 -04:00
Eric Daniels
7c8bfbd44a Make pc.Close wait on spawned goroutines to close 2024-07-01 20:54:27 -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
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
Sean DuBois
157220e800 Run gofmt to add new build constraints
Also remove some 1.13 specific WASM code
2022-01-17 22:36:01 -05:00
Sean DuBois
a1e2e206e2 Reduce PeerConnection_Close_PreICE
Remove time.Sleep
2021-09-15 15:48:10 -04:00
Sean DuBois
9c7b365144 Use closePairNow in tests
Instead of explicitly closing each PeerConnection use helper.
No change in test behavior, just makes code more consistent.
2021-02-16 15:47:58 -08:00
Woodrow Douglass
8090cca216 Refactor some PeerConnection Tests
This is to support the removal of implicitly
created data channels.
2020-07-29 12:57:37 -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
7f77abcfa2 Fix deadlock during ICETransport.Stop
Calling ConnectionStateChange handler during Stop caused mutex
deadlock. Add another Mutex to protect handler pointer to
avoid the deadlock.
2020-02-01 01:14:00 -08:00
Sean DuBois
2356373aac Fix all routine leaks in tests
Fix tests that didn't properly close and add
test.CheckRoutines everywhere. No changes in pion/webrtc
but we did catch hanging thread in pion/ice
2019-10-24 00:09:43 -07:00
Sean DuBois
9e4b41838e Remove no-op code from shutdown
Don't manually set the ICEConnectionState in Close. This
value is being set by pion/ice when we call Close on it already

Relates to #106
2019-07-22 21:31:39 -07:00
Adam Kiss
736e0bb506 Remove usage of ICETransport unexported fields
There are some direct usages of unexported fields of ICETransport
from non ice-related methods. This would be problematic when ice
once ice related code is moved to a separate packet. Added proxy
methods to ICETransport to avoid this.
2019-05-09 19:52:51 +02:00
Christopher Fry
54c3a4c672 Allow remote Sendrecv to be used with Recvonly
Before our RTPTransceiver logic would only allow Sendrecv to
match with another Sendrecv. Instead allow a SendRecv to be used
with a local Recvonly

Co-authored-by: Sean DuBois <sean@siobud.com>
2019-04-18 21:32:10 -07:00
Sean DuBois
0c5f0e088b Fix flaky test TestPeerConnection_Close_PreICE
Test success depend on a condition that happens in a detached thread.
Update test to take the lock and assert the behavior explicitly.

Resolves #626
2019-04-17 22:05:29 -07:00
Sean DuBois
a8c011e21d Close ICEGatherer if mux isn't ready
When ICE is completely connected closing the mux is the proper way to
shut everything down. The Close is communicated down each transport.

The ICETransport mux is only available once ICE has completed however.
When shutting down the ICETransport if the mux isn't set close the
ICEGatherer if it has been set.

Resolves #608
2019-04-17 08:42:11 -07:00
Sean DuBois
1cdfc10c84 Mass replace pions -> pion
Pions organization was renamed to pion
2019-04-04 15:32:03 -07:00
Alex Browne
5ab753c43e Combine some tests for Go and Wasm
This is now possible because the properties in the Go implementation
were changed to methods, which more closely matches the Wasm bindings.
Previously we needed two separate tests because of differences in the
two APIs.
2019-03-19 13:44:35 -07:00
Alex Browne
34e5a89f71 Add tests for WASM bindings
The tests are run in a Node.js environment, and this does not include
any browser tests. This requires the wrtc package from npm as well as a
shim which adds portions of the WebRTC API to the global scope.

Some tests introduced here can be combined when differences between the
Go API and the WASM bindings are addressed and as missing features are
added to the WASM bindings.

We can and should add more tests in the future to improve test coverage.
This should be considered the minimum number of tests reuqired to ensure
basic functionality is working.
2019-03-15 15:17:51 -07:00
Max Hawkins
0647ce9c26 Remove rtc prefix from filenames
Relates to #408
2019-02-17 16:22:56 -08:00