xitca_server/
lib.rs

1//! Multi-threaded server for Tcp/Udp/UnixDomain handling.
2
3#![forbid(unsafe_code)]
4
5mod builder;
6mod server;
7mod signals;
8mod worker;
9
10pub mod net;
11
12pub use builder::Builder;
13pub use server::{ServerFuture, ServerHandle};
14
15#[cfg(all(not(target_os = "linux"), feature = "io-uring"))]
16compile_error!("io_uring can only be used on linux system");
17
18#[cfg(test)]
19mod test {
20    use xitca_io::net::TcpStream;
21    use xitca_service::fn_service;
22
23    #[test]
24    fn test_builder() {
25        let listener = std::net::TcpListener::bind("localhost:0").unwrap();
26        let _server = crate::builder::Builder::new()
27            .listen("test", listener, fn_service(|_: TcpStream| async { Ok::<_, ()>(()) }))
28            .build();
29    }
30}