rama_unix/unix/server/mod.rs
1//! Unix (domain) socket server module for Rama.
2//!
3//! The Unix server is used to create a [`UnixListener`] and accept incoming connections.
4//!
5//! # Example
6//!
7//! ```no_run
8//! use rama_unix::{UnixStream, server::UnixListener};
9//! use rama_core::service::service_fn;
10//! use tokio::io::AsyncWriteExt;
11//!
12//! #[tokio::main]
13//! async fn main() {
14//! UnixListener::bind_path("/tmp/example.socket")
15//! .await
16//! .expect("bind Unix Listener")
17//! .serve(service_fn(async |mut stream: UnixStream| {
18//! stream
19//! .write_all(b"Hello, Unix!")
20//! .await
21//! .expect("write to stream");
22//! Ok::<_, std::convert::Infallible>(())
23//! }))
24//! .await;
25//! }
26//! ```
27
28mod listener;
29#[doc(inline)]
30pub use listener::{UnixListener, UnixListenerBuilder};