├── .github ├── .gitignore ├── fetch-scripts.sh ├── install-hooks.sh └── workflows │ ├── api.yaml │ ├── codeql-analysis.yml │ ├── fuzz.yaml │ ├── lint.yaml │ ├── release.yml │ ├── renovate-go-sum-fix.yaml │ ├── reuse.yml │ ├── test.yaml │ └── tidy-check.yaml ├── .gitignore ├── .golangci.yml ├── .goreleaser.yml ├── .reuse └── dep5 ├── LICENSE ├── LICENSES └── MIT.txt ├── README.md ├── active_tcp.go ├── active_tcp_test.go ├── addr.go ├── addr_test.go ├── agent.go ├── agent_config.go ├── agent_config_test.go ├── agent_get_best_available_candidate_pair_test.go ├── agent_get_best_valid_candidate_pair_test.go ├── agent_handlers.go ├── agent_handlers_test.go ├── agent_on_selected_candidate_pair_change_test.go ├── agent_options.go ├── agent_options_test.go ├── agent_stats.go ├── agent_test.go ├── agent_udpmux_test.go ├── candidate.go ├── candidate_base.go ├── candidate_host.go ├── candidate_peer_reflexive.go ├── candidate_relay.go ├── candidate_relay_test.go ├── candidate_server_reflexive.go ├── candidate_server_reflexive_test.go ├── candidate_test.go ├── candidatepair.go ├── candidatepair_state.go ├── candidatepair_test.go ├── candidaterelatedaddress.go ├── candidatetype.go ├── candidatetype_test.go ├── codecov.yml ├── connectivity_vnet_test.go ├── errors.go ├── examples ├── automatic-renomination │ ├── README.md │ └── main.go ├── continual-gathering │ ├── README.md │ └── main.go └── ping-pong │ ├── README.md │ └── main.go ├── external_ip_mapper.go ├── external_ip_mapper_test.go ├── gather.go ├── gather_test.go ├── gather_vnet_test.go ├── go.mod ├── go.sum ├── ice.go ├── ice_test.go ├── icecontrol.go ├── icecontrol_test.go ├── internal ├── atomic │ └── atomic.go ├── fakenet │ ├── mock_conn.go │ └── packet_conn.go ├── internal.go ├── stun │ └── stun.go └── taskloop │ ├── taskloop.go │ └── taskloop_test.go ├── mdns.go ├── mdns_test.go ├── net.go ├── net_test.go ├── networktype.go ├── networktype_test.go ├── priority.go ├── priority_test.go ├── rand.go ├── rand_test.go ├── renomination.go ├── renomination_test.go ├── renovate.json ├── role.go ├── role_test.go ├── selection.go ├── selection_test.go ├── stats.go ├── tcp_mux.go ├── tcp_mux_multi.go ├── tcp_mux_multi_test.go ├── tcp_mux_test.go ├── tcp_packet_conn.go ├── tcp_packet_conn_test.go ├── tcptype.go ├── tcptype_test.go ├── transport.go ├── transport_test.go ├── transport_vnet_test.go ├── udp_mux.go ├── udp_mux_multi.go ├── udp_mux_multi_test.go ├── udp_mux_test.go ├── udp_mux_universal.go ├── udp_mux_universal_test.go ├── udp_muxed_conn.go ├── url.go ├── usecandidate.go ├── usecandidate_test.go └── utils_test.go /.github/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/.gitignore -------------------------------------------------------------------------------- /.github/fetch-scripts.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/fetch-scripts.sh -------------------------------------------------------------------------------- /.github/install-hooks.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/install-hooks.sh -------------------------------------------------------------------------------- /.github/workflows/api.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/workflows/api.yaml -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/fuzz.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/workflows/fuzz.yaml -------------------------------------------------------------------------------- /.github/workflows/lint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/workflows/lint.yaml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/renovate-go-sum-fix.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/workflows/renovate-go-sum-fix.yaml -------------------------------------------------------------------------------- /.github/workflows/reuse.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/workflows/reuse.yml -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.github/workflows/tidy-check.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.github/workflows/tidy-check.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.gitignore -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.golangci.yml -------------------------------------------------------------------------------- /.goreleaser.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.goreleaser.yml -------------------------------------------------------------------------------- /.reuse/dep5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/.reuse/dep5 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/LICENSE -------------------------------------------------------------------------------- /LICENSES/MIT.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/LICENSES/MIT.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/README.md -------------------------------------------------------------------------------- /active_tcp.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/active_tcp.go -------------------------------------------------------------------------------- /active_tcp_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/active_tcp_test.go -------------------------------------------------------------------------------- /addr.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/addr.go -------------------------------------------------------------------------------- /addr_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/addr_test.go -------------------------------------------------------------------------------- /agent.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent.go -------------------------------------------------------------------------------- /agent_config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_config.go -------------------------------------------------------------------------------- /agent_config_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_config_test.go -------------------------------------------------------------------------------- /agent_get_best_available_candidate_pair_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_get_best_available_candidate_pair_test.go -------------------------------------------------------------------------------- /agent_get_best_valid_candidate_pair_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_get_best_valid_candidate_pair_test.go -------------------------------------------------------------------------------- /agent_handlers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_handlers.go -------------------------------------------------------------------------------- /agent_handlers_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_handlers_test.go -------------------------------------------------------------------------------- /agent_on_selected_candidate_pair_change_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_on_selected_candidate_pair_change_test.go -------------------------------------------------------------------------------- /agent_options.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_options.go -------------------------------------------------------------------------------- /agent_options_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_options_test.go -------------------------------------------------------------------------------- /agent_stats.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_stats.go -------------------------------------------------------------------------------- /agent_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_test.go -------------------------------------------------------------------------------- /agent_udpmux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/agent_udpmux_test.go -------------------------------------------------------------------------------- /candidate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidate.go -------------------------------------------------------------------------------- /candidate_base.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidate_base.go -------------------------------------------------------------------------------- /candidate_host.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidate_host.go -------------------------------------------------------------------------------- /candidate_peer_reflexive.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidate_peer_reflexive.go -------------------------------------------------------------------------------- /candidate_relay.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidate_relay.go -------------------------------------------------------------------------------- /candidate_relay_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidate_relay_test.go -------------------------------------------------------------------------------- /candidate_server_reflexive.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidate_server_reflexive.go -------------------------------------------------------------------------------- /candidate_server_reflexive_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidate_server_reflexive_test.go -------------------------------------------------------------------------------- /candidate_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidate_test.go -------------------------------------------------------------------------------- /candidatepair.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidatepair.go -------------------------------------------------------------------------------- /candidatepair_state.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidatepair_state.go -------------------------------------------------------------------------------- /candidatepair_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidatepair_test.go -------------------------------------------------------------------------------- /candidaterelatedaddress.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidaterelatedaddress.go -------------------------------------------------------------------------------- /candidatetype.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidatetype.go -------------------------------------------------------------------------------- /candidatetype_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/candidatetype_test.go -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/codecov.yml -------------------------------------------------------------------------------- /connectivity_vnet_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/connectivity_vnet_test.go -------------------------------------------------------------------------------- /errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/errors.go -------------------------------------------------------------------------------- /examples/automatic-renomination/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/examples/automatic-renomination/README.md -------------------------------------------------------------------------------- /examples/automatic-renomination/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/examples/automatic-renomination/main.go -------------------------------------------------------------------------------- /examples/continual-gathering/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/examples/continual-gathering/README.md -------------------------------------------------------------------------------- /examples/continual-gathering/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/examples/continual-gathering/main.go -------------------------------------------------------------------------------- /examples/ping-pong/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/examples/ping-pong/README.md -------------------------------------------------------------------------------- /examples/ping-pong/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/examples/ping-pong/main.go -------------------------------------------------------------------------------- /external_ip_mapper.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/external_ip_mapper.go -------------------------------------------------------------------------------- /external_ip_mapper_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/external_ip_mapper_test.go -------------------------------------------------------------------------------- /gather.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/gather.go -------------------------------------------------------------------------------- /gather_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/gather_test.go -------------------------------------------------------------------------------- /gather_vnet_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/gather_vnet_test.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/go.sum -------------------------------------------------------------------------------- /ice.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/ice.go -------------------------------------------------------------------------------- /ice_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/ice_test.go -------------------------------------------------------------------------------- /icecontrol.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/icecontrol.go -------------------------------------------------------------------------------- /icecontrol_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/icecontrol_test.go -------------------------------------------------------------------------------- /internal/atomic/atomic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/internal/atomic/atomic.go -------------------------------------------------------------------------------- /internal/fakenet/mock_conn.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/internal/fakenet/mock_conn.go -------------------------------------------------------------------------------- /internal/fakenet/packet_conn.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/internal/fakenet/packet_conn.go -------------------------------------------------------------------------------- /internal/internal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/internal/internal.go -------------------------------------------------------------------------------- /internal/stun/stun.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/internal/stun/stun.go -------------------------------------------------------------------------------- /internal/taskloop/taskloop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/internal/taskloop/taskloop.go -------------------------------------------------------------------------------- /internal/taskloop/taskloop_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/internal/taskloop/taskloop_test.go -------------------------------------------------------------------------------- /mdns.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/mdns.go -------------------------------------------------------------------------------- /mdns_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/mdns_test.go -------------------------------------------------------------------------------- /net.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/net.go -------------------------------------------------------------------------------- /net_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/net_test.go -------------------------------------------------------------------------------- /networktype.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/networktype.go -------------------------------------------------------------------------------- /networktype_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/networktype_test.go -------------------------------------------------------------------------------- /priority.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/priority.go -------------------------------------------------------------------------------- /priority_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/priority_test.go -------------------------------------------------------------------------------- /rand.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/rand.go -------------------------------------------------------------------------------- /rand_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/rand_test.go -------------------------------------------------------------------------------- /renomination.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/renomination.go -------------------------------------------------------------------------------- /renomination_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/renomination_test.go -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/renovate.json -------------------------------------------------------------------------------- /role.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/role.go -------------------------------------------------------------------------------- /role_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/role_test.go -------------------------------------------------------------------------------- /selection.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/selection.go -------------------------------------------------------------------------------- /selection_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/selection_test.go -------------------------------------------------------------------------------- /stats.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/stats.go -------------------------------------------------------------------------------- /tcp_mux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/tcp_mux.go -------------------------------------------------------------------------------- /tcp_mux_multi.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/tcp_mux_multi.go -------------------------------------------------------------------------------- /tcp_mux_multi_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/tcp_mux_multi_test.go -------------------------------------------------------------------------------- /tcp_mux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/tcp_mux_test.go -------------------------------------------------------------------------------- /tcp_packet_conn.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/tcp_packet_conn.go -------------------------------------------------------------------------------- /tcp_packet_conn_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/tcp_packet_conn_test.go -------------------------------------------------------------------------------- /tcptype.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/tcptype.go -------------------------------------------------------------------------------- /tcptype_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/tcptype_test.go -------------------------------------------------------------------------------- /transport.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/transport.go -------------------------------------------------------------------------------- /transport_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/transport_test.go -------------------------------------------------------------------------------- /transport_vnet_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/transport_vnet_test.go -------------------------------------------------------------------------------- /udp_mux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/udp_mux.go -------------------------------------------------------------------------------- /udp_mux_multi.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/udp_mux_multi.go -------------------------------------------------------------------------------- /udp_mux_multi_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/udp_mux_multi_test.go -------------------------------------------------------------------------------- /udp_mux_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/udp_mux_test.go -------------------------------------------------------------------------------- /udp_mux_universal.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/udp_mux_universal.go -------------------------------------------------------------------------------- /udp_mux_universal_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/udp_mux_universal_test.go -------------------------------------------------------------------------------- /udp_muxed_conn.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/udp_muxed_conn.go -------------------------------------------------------------------------------- /url.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/url.go -------------------------------------------------------------------------------- /usecandidate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/usecandidate.go -------------------------------------------------------------------------------- /usecandidate_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/usecandidate_test.go -------------------------------------------------------------------------------- /utils_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pion/ice/HEAD/utils_test.go --------------------------------------------------------------------------------