5 releases
| 0.1.4 | Feb 11, 2026 |
|---|---|
| 0.1.3 | Feb 11, 2026 |
| 0.1.2 | Feb 11, 2026 |
| 0.1.1 | Feb 10, 2026 |
| 0.1.0 | Feb 10, 2026 |
#8 in #rendezvous
Used in 3 crates
190KB
4K
SLoC
rift-rndzv
Rendezvous protocol for NAT traversal in the riftd P2P protocol.
Part of the riftd project — serverless P2P voice + text chat over UDP.
What's in this crate?
rift-rndzv implements Predictive Rendezvous — a novel approach to NAT traversal:
- SRT Tokens — Semantic Rendezvous Tokens for easy sharing (QR codes, links)
- Predictive Scheduling — Time-coordinated hole punching
- NAT Coordination — Synchronized connection attempts
- Invite Flow — Generate and accept peer invitations
- Fallback Handling — Graceful degradation to relay
Usage
use rift_rndzv::{RndzvConnector, SrtToken};
let connector = RndzvConnector::new();
// Generate an invite
let srt = connector.generate_srt(space_id, &identity)?;
println!("Share this: {}", srt.to_uri());
// Connect via invite
let peer = connector.connect_srt(&srt_uri).await?;
SRT Format
SRTs are compact, shareable tokens:
rift://srt/<base64-encoded-token>
See docs/srt-invites.md for UX patterns.
Related Crates
| Crate | Description |
|---|---|
| rift-nat | STUN/TURN primitives |
| rift-mesh | Mesh networking (uses rndzv) |
| rift-sdk | High-level invite API |
Citation
If you use riftd in academic work, please cite:
de Beer, R. (2026). Predictive Rendezvous: Time–Intent–Deterministic Peer Coordination Without Infrastructure. Zenodo. https://doi.org/10.5281/zenodo.18528430
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Dependencies
~13–27MB
~277K SLoC