diff --git a/src/server/builder.rs b/src/server/builder.rs index 98a2d5023..5af9d0c8f 100644 --- a/src/server/builder.rs +++ b/src/server/builder.rs @@ -2,7 +2,7 @@ use std::marker::PhantomData; use std::net; use actix_net::either::Either; -use actix_net::server; +use actix_net::server::{Server, ServiceFactory}; use actix_net::service::{NewService, NewServiceExt}; use super::acceptor::{AcceptorServiceFactory, AcceptorTimeout, TcpAcceptor}; @@ -11,14 +11,11 @@ use super::service::HttpService; use super::settings::{ServerSettings, WorkerSettings}; use super::{IoStream, KeepAlive}; -pub(crate) trait ServiceFactory -where - H: IntoHttpHandler, -{ +pub(crate) trait ServiceProvider { fn register( - &self, server: server::Server, lst: net::TcpListener, host: Option, + &self, server: Server, lst: net::TcpListener, host: Option, addr: net::SocketAddr, keep_alive: KeepAlive, client_timeout: usize, - ) -> server::Server; + ) -> Server; } pub struct HttpServiceBuilder @@ -73,7 +70,7 @@ where fn finish( &self, host: Option, addr: net::SocketAddr, keep_alive: KeepAlive, client_timeout: usize, - ) -> impl server::ServiceFactory { + ) -> impl ServiceFactory { let factory = self.factory.clone(); let pipeline = self.pipeline.clone(); let acceptor = self.acceptor.clone(); @@ -119,7 +116,7 @@ where } } -impl ServiceFactory for HttpServiceBuilder +impl ServiceProvider for HttpServiceBuilder where F: Fn() -> H + Send + Clone + 'static, A: AcceptorServiceFactory, @@ -127,9 +124,9 @@ where H: IntoHttpHandler, { fn register( - &self, server: server::Server, lst: net::TcpListener, host: Option, + &self, server: Server, lst: net::TcpListener, host: Option, addr: net::SocketAddr, keep_alive: KeepAlive, client_timeout: usize, - ) -> server::Server { + ) -> Server { server.listen2( "actix-web", lst, diff --git a/src/server/h1.rs b/src/server/h1.rs index b6b576ed7..b5ee93e66 100644 --- a/src/server/h1.rs +++ b/src/server/h1.rs @@ -528,6 +528,7 @@ mod tests { WorkerSettings::::new( App::new().into_handler(), KeepAlive::Os, + 5000, ServerSettings::default(), ) } diff --git a/src/server/http.rs b/src/server/http.rs index 0fe14221e..49ae4f28c 100644 --- a/src/server/http.rs +++ b/src/server/http.rs @@ -20,14 +20,14 @@ use openssl::ssl::SslAcceptorBuilder; use super::acceptor::{AcceptorServiceFactory, DefaultAcceptor}; use super::builder::DefaultPipelineFactory; -use super::builder::{HttpServiceBuilder, ServiceFactory}; +use super::builder::{HttpServiceBuilder, ServiceProvider}; use super::{IntoHttpHandler, IoStream, KeepAlive}; -struct Socket { +struct Socket { scheme: &'static str, lst: net::TcpListener, addr: net::SocketAddr, - handler: Box>, + handler: Box, } /// An HTTP Server @@ -52,7 +52,7 @@ where maxconn: usize, maxconnrate: usize, client_timeout: usize, - sockets: Vec>, + sockets: Vec, } impl HttpServer diff --git a/src/server/settings.rs b/src/server/settings.rs index fe564c5b9..db5f6c57b 100644 --- a/src/server/settings.rs +++ b/src/server/settings.rs @@ -330,8 +330,12 @@ mod tests { let mut rt = current_thread::Runtime::new().unwrap(); let _ = rt.block_on(future::lazy(|| { - let settings = - WorkerSettings::<()>::new((), KeepAlive::Os, ServerSettings::default()); + let settings = WorkerSettings::<()>::new( + (), + KeepAlive::Os, + 0, + ServerSettings::default(), + ); let mut buf1 = BytesMut::with_capacity(DATE_VALUE_LENGTH + 10); settings.set_date(&mut buf1, true); let mut buf2 = BytesMut::with_capacity(DATE_VALUE_LENGTH + 10);