Skip to main content

simoom_quic/
lib.rs

1//! Sans-io QUIC v1 transport (RFC 9000, RFC 9001, RFC 9002) for simoom, with QUIC v2
2//! (RFC 9369) when enabled in [`Config::versions`].
3//!
4//! The crate never touches sockets or clocks: an [`Endpoint`] takes datagrams, the time and
5//! the peer address, and returns datagrams to send, a deadline and per-connection events.
6//! Packet protection and the TLS handshake go through the [`crypto`] traits.
7
8#![forbid(unsafe_code)]
9
10pub mod coding;
11pub mod config;
12pub mod connection;
13pub mod crypto;
14pub mod endpoint;
15pub mod error;
16pub mod frame;
17pub mod packet;
18pub mod params;
19pub mod ranges;
20pub mod recovery;
21pub mod sim;
22pub mod stream;
23pub mod tls;
24pub mod token;
25pub mod vn;
26
27pub use config::{Config, TransportConfig};
28pub use connection::{Connection, ConnectionError, EndpointEvent, Event, Stats, Transmit};
29pub use crypto::{CryptoProvider, CryptoSession, Level};
30pub use endpoint::{ConnHandle, DatagramEvent, Endpoint};
31pub use error::{StreamError, TransportError};
32pub use packet::{VERSION_1, VERSION_2};
33pub use params::{Cid, TransportParams};