Crate tquic

source ·
Expand description

TQUIC is an implementation of the IETF QUIC protocol. It is a high-performance, lightweight, and cross-platform QUIC library.

§Features and Advantages

  • High Performance: TQUIC is designed for high performance and low latency.
  • High Throughput: TQUIC supports various congtestion control algorithms (CUBIC, BBR, COPA), and Multipath QUIC for utilizing multiple paths within a single connection.
  • High Quality: TQUIC employs extensive testing techniques, including unit testing, fuzz testing, integration testing, benchmarking, interoperability testing, and protocol conformance testing.
  • Easy to Use: TQUIC is easy to use, supporting flexible configuration and detailed observability. It offers APIs for Rust/C/C++.
  • Powered by Rust: TQUIC is written in a memory-safe language, making it immune to Buffer Overflow vulnerability and other memory-related bugs.
  • Rich Features: TQUIC supports all big features conforming with QUIC, HTTP/3 RFCs.

The TQUIC project website offers a comprehensive introduction to TQUIC.

§Get started

See the documents and examples to get started with TQUIC.

§Feature flags

TQUIC defines several feature flags to reduce the amount of compiled code and dependencies:

  • ffi: Build and expose the FFI API.

Re-exports§

  • pub use crate::connection::path::Path;
  • pub use crate::connection::Connection;
  • pub use crate::endpoint::Endpoint;
  • pub use crate::error::Error;

Modules§

  • Implementation of QUIC protocol.
  • A QUIC endpoint.
  • Error type for quic operations.
  • Implementation of HTTP/3 and QPACK.

Structs§

Enums§

Constants§

  • The Connection ID MUST NOT exceed 20 bytes in QUIC version 1. See RFC 9000 Section 17.2
  • The minimum length of Initial packets sent by a client.
  • The current QUIC wire version.
  • The RECOMMENDED value of the timer granularity is 1 millisecond. See RFC 9002 Section 6.1

Traits§

Type Aliases§

  • Result type for quic operations.