Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md


compio-quic

MIT licensed crates.io docs.rs Check Test

QUIC protocol implementation for compio.

This crate provides QUIC (RFC9000) support for compio, built on top of quinn-proto. QUIC is a modern transport protocol that provides features like multiplexing, built-in encryption, and improved connection migration, making it ideal for applications like HTTP/3 (RFC9114).

Features

  • QUIC client and server support
  • Built on quinn-proto for robust QUIC implementation
  • Optional HTTP/3 support via the h3 feature
  • Multiple certificate verification options:
    • platform-verifier: Use platform-specific certificate verification
    • native-certs: Use system's native certificate store
    • webpki-roots: Use Mozilla's root certificates
  • Integration with compio's completion-based IO model
  • Cross-platform support

Usage

Use compio directly with quic feature enabled:

cargo add compio --features quic

Example:

use compio::quic::{Endpoint, ClientConfig};

let mut endpoint = Endpoint::client("0.0.0.0:0".parse()?)?;
let connection = endpoint.connect("compio.rs:443", "compio.rs").await?;

// Use the QUIC connection
let (mut send, mut recv) = connection.open_bi().await?;
send.write_all(b"Hello QUIC!").await?;