Skip to main content

actori_server/
lib.rs

1//! General purpose tcp server
2#![deny(rust_2018_idioms, warnings)]
3#![allow(clippy::type_complexity)]
4
5mod accept;
6mod builder;
7mod config;
8mod server;
9mod service;
10mod signals;
11mod socket;
12mod worker;
13
14pub use self::builder::ServerBuilder;
15pub use self::config::{ServiceConfig, ServiceRuntime};
16pub use self::server::Server;
17pub use self::service::ServiceFactory;
18
19#[doc(hidden)]
20pub use self::socket::FromStream;
21
22/// Socket id token
23#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
24pub(crate) struct Token(usize);
25
26impl Token {
27    pub(crate) fn next(&mut self) -> Token {
28        let token = Token(self.0);
29        self.0 += 1;
30        token
31    }
32}
33
34/// Start server building process
35pub fn new() -> ServerBuilder {
36    ServerBuilder::default()
37}