Crate librice

Crate librice 

Source
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 Component in an ICE Stream
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.