1
0
mirror of https://github.com/fafhrd91/actix-net synced 2025-06-28 16:50:37 +02:00

remove server config

This commit is contained in:
Nikolay Kim
2019-03-08 22:38:39 -08:00
parent 70ead175b9
commit a4d4770462
8 changed files with 16 additions and 97 deletions

View File

@ -150,15 +150,14 @@ impl ServerBuilder {
U: net::ToSocketAddrs,
{
let sockets = bind_addr(addr)?;
let token = self.token.next();
self.services.push(StreamNewService::create(
name.as_ref().to_string(),
token,
factory.clone(),
));
for lst in sockets {
let token = self.token.next();
self.services.push(StreamNewService::create(
name.as_ref().to_string(),
token,
factory.clone(),
lst.local_addr()?,
));
self.sockets.push((token, lst));
}
Ok(self)
@ -179,7 +178,6 @@ impl ServerBuilder {
name.as_ref().to_string(),
token,
factory,
lst.local_addr()?,
));
self.sockets.push((token, lst));
Ok(self)

View File

@ -10,8 +10,6 @@ mod signals;
pub mod ssl;
mod worker;
pub use actix_server_config::ServerConfig;
pub use self::builder::ServerBuilder;
pub use self::server::Server;
pub use self::service_config::{ServiceConfig, ServiceRuntime};

View File

@ -1,8 +1,7 @@
use std::net::{SocketAddr, TcpStream};
use std::net::TcpStream;
use std::time::Duration;
use actix_rt::spawn;
use actix_server_config::ServerConfig;
use actix_service::{NewService, Service};
use futures::future::{err, ok, FutureResult};
use futures::{Future, Poll};
@ -24,7 +23,7 @@ pub(crate) enum ServerMessage {
}
pub trait ServiceFactory: Send + Clone + 'static {
type NewService: NewService<TokioTcpStream, ServerConfig>;
type NewService: NewService<TokioTcpStream>;
fn create(&self) -> Self::NewService;
}
@ -97,25 +96,14 @@ pub(crate) struct StreamNewService<F: ServiceFactory> {
name: String,
inner: F,
token: Token,
addr: SocketAddr,
}
impl<F> StreamNewService<F>
where
F: ServiceFactory,
{
pub(crate) fn create(
name: String,
token: Token,
inner: F,
addr: SocketAddr,
) -> Box<InternalServiceFactory> {
Box::new(Self {
name,
token,
inner,
addr,
})
pub(crate) fn create(name: String, token: Token, inner: F) -> Box<InternalServiceFactory> {
Box::new(Self { name, token, inner })
}
}
@ -132,17 +120,15 @@ where
name: self.name.clone(),
inner: self.inner.clone(),
token: self.token,
addr: self.addr,
})
}
fn create(&self) -> Box<Future<Item = Vec<(Token, BoxedServerService)>, Error = ()>> {
let token = self.token;
let config = ServerConfig::new(self.addr);
Box::new(
self.inner
.create()
.new_service(&config)
.new_service(&())
.map_err(|_| ())
.map(move |inner| {
let service: BoxedServerService = Box::new(StreamService::new(inner));
@ -169,7 +155,7 @@ impl InternalServiceFactory for Box<InternalServiceFactory> {
impl<F, T> ServiceFactory for F
where
F: Fn() -> T + Send + Clone + 'static,
T: NewService<TokioTcpStream, ServerConfig>,
T: NewService<TokioTcpStream>,
{
type NewService = T;