Expand description
§librice
An async implementation based on rice-proto using the rice-c bindings.
§Relevant standards
- RFC5245: Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols
- RFC5389: Session Traversal Utilities for NAT (STUN)
- RFC5766: Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)
- RFC5769: Test Vectors for Session Traversal Utilities for NAT (STUN)
- RFC6062: Traversal Using Relays around NAT (TURN) Extensions for TCP Allocations
- RFC6156: Traversal Using Relays around NAT (TURN) Extension for IPv6
- RFC6544: TCP Candidates with Interactive Connectivity Establishment (ICE)
- RFC7675: Session Traversal Utilities for NAT (STUN) Usage for Consent Freshness
- RFC8445: Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal
- RFC8489: Session Traversal Utilities for NAT (STUN)
- RFC8656: Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN)
- RFC8838: Trickle ICE: Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (ICE) Protocol
§Building
librice has the same build requirements as rice-c and the crate level documentation for
rice-c provides guidelines on how to build rice-c and projects that depend on rice-c.
Modules§
- agent
- ICE Agent implementation as specified in RFC 8445
- candidate
- ICE Candidates
- component
- A
Componentin an ICEStream - runtime
- Async runtime abstraction
- socket
- Socket helpers for handling UDP and TCP transports
- stream
- An ICE Stream
Functions§
- random_
string - Generate a random sequence of characters suitable for username fragments and passwords.