mesquitte_core/server/
mod.rs1use std::sync::Arc;
2
3use state::GlobalState;
4use tokio::io::{split, AsyncRead, AsyncWrite};
5
6use crate::protocols::v4::read_write_loop::read_write_loop;
7
8pub mod config;
9#[cfg(feature = "quic")]
10pub mod quic;
11#[cfg(feature = "rustls")]
12pub mod rustls;
13pub mod state;
14#[cfg(any(feature = "mqtt", feature = "mqtts"))]
15pub mod tcp;
16#[cfg(any(feature = "ws", feature = "wss"))]
17pub mod ws;
18
19async fn process_client<S>(stream: S, global: Arc<GlobalState>)
20where
21 S: AsyncRead + AsyncWrite + Send + 'static,
22{
23 let (rd, wr) = split(stream);
24 read_write_loop(rd, wr, global).await;
25}