compio-quic 0.7.0

QUIC for compio
Documentation

compio-quic

MIT licensed crates.io docs.rs Check Test

QUIC protocol implementation for compio.

This crate provides QUIC (Quick UDP Internet Connections) 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.

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("example.com:443", "example.com").await?;

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