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;

Modules§

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