2018-12-10 06:51:35 +01:00
|
|
|
//! General purpose tcp server
|
2018-09-11 17:43:23 +02:00
|
|
|
|
|
|
|
mod accept;
|
2018-12-10 05:30:04 +01:00
|
|
|
mod builder;
|
2018-11-03 17:09:14 +01:00
|
|
|
mod config;
|
2018-12-10 07:14:29 +01:00
|
|
|
mod counter;
|
2018-12-10 06:51:35 +01:00
|
|
|
mod server;
|
2018-09-11 17:43:23 +02:00
|
|
|
mod services;
|
2018-12-11 06:06:54 +01:00
|
|
|
mod signals;
|
2018-12-10 07:14:29 +01:00
|
|
|
pub mod ssl;
|
2018-09-11 17:43:23 +02:00
|
|
|
mod worker;
|
|
|
|
|
2018-12-10 05:30:04 +01:00
|
|
|
pub use self::builder::ServerBuilder;
|
2018-11-03 17:09:14 +01:00
|
|
|
pub use self::config::{ServiceConfig, ServiceRuntime};
|
2018-12-10 06:51:35 +01:00
|
|
|
pub use self::server::Server;
|
2019-02-22 21:44:37 +01:00
|
|
|
pub use self::services::StreamServiceFactory;
|
2018-09-11 17:43:23 +02:00
|
|
|
|
|
|
|
/// Socket id token
|
2018-11-03 17:09:14 +01:00
|
|
|
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
|
2018-09-11 17:43:23 +02:00
|
|
|
pub(crate) struct Token(usize);
|
2018-11-03 17:09:14 +01:00
|
|
|
|
|
|
|
impl Token {
|
2018-11-14 23:20:33 +01:00
|
|
|
pub(crate) fn next(&mut self) -> Token {
|
|
|
|
let token = Token(self.0 + 1);
|
|
|
|
self.0 += 1;
|
|
|
|
token
|
2018-11-03 17:09:14 +01:00
|
|
|
}
|
2018-11-18 03:46:26 +01:00
|
|
|
}
|
2018-12-10 07:19:26 +01:00
|
|
|
|
|
|
|
/// Start server building process
|
|
|
|
pub fn build() -> ServerBuilder {
|
|
|
|
ServerBuilder::default()
|
|
|
|
}
|