Skip to content

dragonflyoss/vortex

Folders and files

NameName
Last commit message
Last commit date
Mar 4, 2025
Jan 14, 2025
Jan 14, 2025
Jan 17, 2025
Jan 17, 2025
Jan 10, 2025
Jan 10, 2025
Jan 10, 2025
Mar 5, 2025
Feb 2, 2025
Jan 10, 2025
Jan 17, 2025
Jan 10, 2025

Repository files navigation

Vortex

LICENSE Discussions

Introduction

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.

Key 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 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)

LICENSE

Apache 2.0 License. Please see LICENSE for more information.