ntex_h2/server/
mod.rs

1mod builder;
2mod service;
3
4pub use self::builder::ServerBuilder;
5pub use self::service::{handle_one, Server, ServerHandler};
6
7use crate::frame;
8
9/// Errors which can occur when attempting to handle amqp connection.
10#[derive(thiserror::Error, Debug)]
11pub enum ServerError<E> {
12    /// Request handler error
13    #[error("Message handler service error")]
14    Service(E),
15    /// Http/2 frame codec error
16    #[error("Http/2 codec error: {0}")]
17    Frame(#[from] frame::FrameError),
18    /// Dispatcher error
19    #[error("Dispatcher error")]
20    Dispatcher,
21    /// Control service init error
22    #[error("Control service init error")]
23    ControlServiceError,
24    /// Publish service init error
25    #[error("Publish service init error")]
26    PublishServiceError,
27    /// Handshake timeout
28    #[error("Handshake timeout")]
29    HandshakeTimeout,
30    /// Peer disconnect
31    #[error("Peer is disconnected, error: {0:?}")]
32    Disconnected(Option<std::io::Error>),
33}
34
35impl<E> From<std::io::Error> for ServerError<E> {
36    fn from(err: std::io::Error) -> Self {
37        ServerError::Disconnected(Some(err))
38    }
39}