Crate quinn_proto

source ·
Expand description

Low-level protocol logic for the QUIC protoocol

quinn-proto contains a fully deterministic implementation of QUIC protocol logic. It contains no networking code and does not get any relevant timestamps from the operating system. Most users may want to use the futures-based quinn API instead.

The quinn-proto API might be of interest if you want to use it from a C or C++ project through C bindings or if you want to use a different event loop than the one tokio provides.

The most important types are Endpoint, which conceptually represents the protocol state for a single socket and mostly manages configuration and dispatches incoming datagrams to the related Connection. Connection types contain the bulk of the protocol logic related to managing a single connection and all the related state (such as streams).

Modules

  • Logic for controlling the rate at which data is sent
  • Traits and implementations for the QUIC cryptography protocol
  • QUIC connection transport parameters

Structs

Enums

  • Errors in the configuration of an endpoint
  • Errors in the parameters being used to create a new connection
  • Reasons why a connection might be lost
  • Event resulting from processing a single datagram
  • Whether a stream communicates data in both directions or only from the initiator
  • Explicit congestion notification codepoint
  • Events of interest to the application
  • Reasons why attempting to finish a stream might fail
  • Errors triggered when reading from a recv stream
  • Errors triggered when opening a recv stream for reading
  • Errors that can arise when sending a datagram
  • Whether an endpoint was the initiator of a connection
  • Application events about streams
  • Errors triggered while writing to a send stream

Constants

Traits

  • A source of one or more buffers which can be converted into Bytes buffers on demand
  • Generates connection IDs for incoming connections