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