Vortex is a high-performance peer-to-peer (P2P) file transfer protocol implementation in Rust, designed as part of the Dragonfly project. It utilizes the TLV (Tag-Length-Value) format for efficient and flexible data transmission, making it ideal for large-scale file distribution scenarios.
- Efficient TLV Protocol: Optimized for fast serialization and deserialization of data packets
- Large File Support: Handles piece sizes up to 1 GiB and value fields up to 4 GiB
- Memory Safety: Built in Rust with zero-cost abstractions and memory safety guarantees
- High Performance: Designed for high-throughput file transfer scenarios
- Extensible Design: Reserved tags for future protocol extensions like compression and encryption
For details, please see the specification.
Vortex includes comprehensive benchmarks for packet creation, serialization, and deserialization:
# Run all benchmarks
cargo bench
# Run specific benchmark group
cargo bench "Vortex Packet Creation"
The benchmarks cover various packet sizes:
- Small packets (32 bytes)
- Medium packets (1 KB)
- Large packets (1 MB)
- Extra large packets (16 MB)
Apache 2.0 License. Please see LICENSE for more information.