1mod acceptor;
6mod body_wrapper;
7mod connection;
8mod error;
9mod frame;
10#[cfg(feature = "unstable")]
11mod initiator;
12mod role;
13mod settings;
14mod transport;
15
16use crate::headers::compression_error::CompressionError;
17pub use acceptor::H2Driver;
18pub(crate) use body_wrapper::H2Body;
19pub use connection::H2Connection;
20#[cfg(feature = "unstable")]
21#[doc(hidden)]
22pub use connection::{ResponseHeaders, SubmitSend};
23pub use error::H2ErrorCode;
24#[cfg(feature = "unstable")]
25pub use initiator::H2Initiator;
26#[cfg(feature = "unstable")]
27pub use settings::H2Settings;
28#[cfg(not(feature = "unstable"))]
29pub(crate) use settings::H2Settings;
30pub use transport::H2Transport;
31
32#[derive(thiserror::Error, Debug)]
38pub enum H2Error {
39 #[error(transparent)]
41 Protocol(#[from] H2ErrorCode),
42
43 #[error(transparent)]
45 Io(#[from] std::io::Error),
46}
47
48impl From<CompressionError> for H2Error {
50 fn from(_: CompressionError) -> Self {
51 Self::Protocol(H2ErrorCode::CompressionError)
52 }
53}