MCPcopy Index your code
hub / github.com/pion/ice

github.com/pion/ice @v4.2.7

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.2.7 ↗ · + Follow
1,542 symbols 8,152 edges 100 files 421 documented · 27% 37 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Pion ICE

A Go implementation of ICE

Pion ICE join us on Discord Follow us on Bluesky

GitHub Workflow Status Go Reference Coverage Status Go Report Card License: MIT

Roadmap

The library is used as a part of our WebRTC implementation. Please refer to that roadmap to track our major milestones.

Community

Pion has an active community on the Discord.

Follow the Pion Bluesky or Pion Twitter for project updates and important WebRTC news.

We are always looking to support your projects. Please reach out if you have something to build! If you need commercial support or don't want to use public methods you can contact us at team@pion.ly

Contributing

Check out the contributing wiki to join the group of amazing people making this project possible

License

MIT License - see LICENSE for full text

Extension points exported contracts — how you extend this code

UDPMux (Interface)
UDPMux allows multiple connections to go over a single UDP port. [5 implementers]
udp_mux.go
TCPMux (Interface)
TCPMux is allows grouping multiple TCP net.Conns and using them like UDP net.PacketConns. The main implementation of thi [5 …
tcp_mux.go
UniversalUDPMux (Interface)
UniversalUDPMux allows multiple connections to go over a single UDP port for host, server reflexive and relayed candidat [4 …
udp_mux_universal.go
UDPMuxFromPortOption (Interface)
UDPMuxFromPortOption provide options for NewMultiUDPMuxFromPort. [1 implementers]
udp_mux_multi.go
Candidate (Interface)
Candidate represents an ICE candidate. [1 implementers]
candidate.go
AllConnsGetter (Interface)
AllConnsGetter allows multiple fixed TCP ports to be used, each of which is multiplexed like TCPMux. AllConnsGetter also [1 …
tcp_mux_multi.go
AgentOption (FuncType)
AgentOption represents a function that can be used to configure an Agent.
agent_options.go
NominationValueGenerator (FuncType)
NominationValueGenerator is a function that generates nomination values for renomination.
agent_options.go

Core symbols most depended-on inside this repo

Equal
called by 621
candidate.go
Run
called by 371
internal/taskloop/taskloop.go
Close
called by 306
gather.go
String
called by 265
candidate.go
Close
called by 178
agent.go
NewAgent
called by 169
agent.go
NewAgentWithOptions
called by 122
agent.go
Load
called by 90
internal/atomic/atomic.go

Shape

Method 727
Function 655
Struct 130
TypeAlias 18
Interface 10
FuncType 2

Languages

Go100%

Modules by API surface

gather_test.go219 symbols
agent_options_test.go94 symbols
agent.go88 symbols
agent_test.go62 symbols
candidate_base.go61 symbols
agent_options.go57 symbols
selection_test.go46 symbols
udp_mux_test.go45 symbols
transport_filtering_matrix_test.go37 symbols
gather.go37 symbols
candidatepair.go34 symbols
candidate.go33 symbols

For agents

$ claude mcp add ice \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact