Skip to main content

Crate vcl_protocol

Crate vcl_protocol 

Source
Expand description

§VCL Protocol

Cryptographically chained packet transport protocol with:

  • SHA-256 integrity chain
  • Ed25519 digital signatures
  • X25519 ephemeral key exchange
  • XChaCha20-Poly1305 authenticated encryption
  • Replay protection
  • Connection events, ping/heartbeat, mid-session key rotation
  • Connection pool for managing multiple peers

§Quick Start

use vcl_protocol::connection::VCLConnection;

#[tokio::main]
async fn main() {
    let mut server = VCLConnection::bind("127.0.0.1:8080").await.unwrap();
    server.accept_handshake().await.unwrap();

    let packet = server.recv().await.unwrap();
    println!("Received: {}", String::from_utf8_lossy(&packet.payload));
}

Re-exports§

pub use error::VCLError;
pub use event::VCLEvent;
pub use pool::VCLPool;
pub use config::VCLConfig;
pub use transport::VCLTransport;
pub use fragment::Fragmenter;
pub use fragment::Reassembler;
pub use fragment::Fragment;
pub use flow::FlowController;
pub use metrics::VCLMetrics;

Modules§

config
VCL Connection Configuration
connection
VCL Connection
crypto
VCL Cryptographic Primitives
error
VCL Error Types
event
VCL Connection Events
flow
VCL Flow Control & Congestion Control
fragment
VCL Packet Fragmentation
handshake
metrics
VCL Metrics
packet
VCL Packet
pool
VCL Connection Pool
transport
VCL Transport Abstraction