2018-12-09 21:51:35 -08:00
|
|
|
//! General purpose tcp server
|
2018-09-11 08:43:23 -07:00
|
|
|
|
|
|
|
mod accept;
|
2018-12-09 20:30:04 -08:00
|
|
|
mod builder;
|
2019-03-14 20:09:34 -07:00
|
|
|
mod config;
|
2018-12-09 22:14:29 -08:00
|
|
|
mod counter;
|
2018-12-09 21:51:35 -08:00
|
|
|
mod server;
|
2019-11-14 18:38:24 +06:00
|
|
|
mod service;
|
|
|
|
// mod signals;
|
2019-07-18 17:05:40 +06:00
|
|
|
mod socket;
|
2018-12-09 22:14:29 -08:00
|
|
|
pub mod ssl;
|
2018-09-11 08:43:23 -07:00
|
|
|
mod worker;
|
|
|
|
|
2019-04-16 08:32:12 -07:00
|
|
|
pub use actix_server_config::{Io, IoStream, Protocol, ServerConfig};
|
2019-03-09 07:27:56 -08:00
|
|
|
|
2018-12-09 20:30:04 -08:00
|
|
|
pub use self::builder::ServerBuilder;
|
2019-03-14 20:09:34 -07:00
|
|
|
pub use self::config::{ServiceConfig, ServiceRuntime};
|
2018-12-09 21:51:35 -08:00
|
|
|
pub use self::server::Server;
|
2019-11-14 18:38:24 +06:00
|
|
|
pub use self::service::ServiceFactory;
|
2019-03-04 14:31:46 -08:00
|
|
|
|
2019-07-18 17:05:40 +06:00
|
|
|
#[doc(hidden)]
|
|
|
|
pub use self::socket::FromStream;
|
|
|
|
|
2018-09-11 08:43:23 -07:00
|
|
|
/// Socket id token
|
2018-11-03 09:09:14 -07:00
|
|
|
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
|
2018-09-11 08:43:23 -07:00
|
|
|
pub(crate) struct Token(usize);
|
2018-11-03 09:09:14 -07:00
|
|
|
|
|
|
|
impl Token {
|
2018-11-14 14:20:33 -08:00
|
|
|
pub(crate) fn next(&mut self) -> Token {
|
|
|
|
let token = Token(self.0 + 1);
|
|
|
|
self.0 += 1;
|
|
|
|
token
|
2018-11-03 09:09:14 -07:00
|
|
|
}
|
2018-11-17 18:46:26 -08:00
|
|
|
}
|
2018-12-09 22:19:26 -08:00
|
|
|
|
|
|
|
/// Start server building process
|
2019-03-02 14:42:31 -08:00
|
|
|
pub fn new() -> ServerBuilder {
|
2018-12-09 22:19:26 -08:00
|
|
|
ServerBuilder::default()
|
|
|
|
}
|