1mod body_wrapper;
4mod connection;
5mod error;
6mod frame;
7#[cfg(feature = "unstable")]
8pub mod quic_varint;
9#[cfg(not(feature = "unstable"))]
10pub(crate) mod quic_varint;
11mod settings;
12
13#[cfg(test)]
14mod tests;
15
16#[derive(thiserror::Error, Debug)]
22#[non_exhaustive]
23pub enum H3Error {
24 #[error(transparent)]
25 Protocol(#[from] H3ErrorCode),
27
28 #[error(transparent)]
29 Io(#[from] std::io::Error),
31}
32
33#[cfg(feature = "unstable")]
34pub use body_wrapper::H3Body;
35#[cfg(not(feature = "unstable"))]
36pub(crate) use body_wrapper::H3Body;
37pub use connection::{H3Connection, H3StreamResult, UniStreamResult};
38pub use error::H3ErrorCode;
39pub(crate) use frame::UniStreamType;
40#[cfg(feature = "unstable")]
41pub use frame::{ActiveFrame, Frame, FrameDecodeError, FrameStream};
42#[cfg(not(feature = "unstable"))]
43pub(crate) use frame::{Frame, FrameDecodeError, FrameStream};
44pub(crate) use settings::H3Settings;
45
46pub(crate) const MAX_BUFFER_SIZE: usize = 1024 * 10;