vortex-protocol

Crates.iovortex-protocol
lib.rsvortex-protocol
version0.1.5
created_at2025-04-16 13:57:02.140914+00
updated_at2025-12-05 10:07:43.836231+00
descriptionA P2P file transfer protocol
homepagehttps://d7y.io/
repositoryhttps://github.com/dragonflyoss/vortex.git
max_upload_size
id1636479
size261,236
Gaius (gaius-qi)

documentation

README

Vortex Protocol

LICENSE Discussions

Introduction

Vortex protocol 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.

Features

  • 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.

Documentation

For details, please see the specification.

Benchmarking

Vortex protocol includes comprehensive benchmarks for packet creation, serialization, and deserialization:

# Run all benchmarks
cargo bench

# Run specific benchmark group
cargo bench "Vortex Packet Creation"
Commit count: 0

cargo fmt