From 6c27c1598c6bfdf5ebb5eb3a0d104ec2cee7762d Mon Sep 17 00:00:00 2001 From: fakeshadow <24548779@qq.com> Date: Fri, 25 Dec 2020 04:08:34 +0800 Subject: [PATCH] fix actix-tls on windows target --- actix-tls/src/openssl.rs | 2 +- actix-tls/src/rustls.rs | 17 ++++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/actix-tls/src/openssl.rs b/actix-tls/src/openssl.rs index 3b69d4b4..edfe504f 100644 --- a/actix-tls/src/openssl.rs +++ b/actix-tls/src/openssl.rs @@ -9,7 +9,7 @@ use actix_utils::counter::{Counter, CounterGuard}; use futures_util::future::{ready, Ready}; use futures_util::ready; -pub use open_ssl::ssl::{AlpnError, Error, Ssl, SslAcceptor}; +pub use open_ssl::ssl::{AlpnError, Error, Ssl, SslAcceptor, SslAcceptorBuilder}; pub use tokio_openssl::SslStream; use crate::MAX_CONN_COUNTER; diff --git a/actix-tls/src/rustls.rs b/actix-tls/src/rustls.rs index 3c3c60bf..90411c27 100644 --- a/actix-tls/src/rustls.rs +++ b/actix-tls/src/rustls.rs @@ -8,7 +8,7 @@ use std::task::{Context, Poll}; use actix_codec::{AsyncRead, AsyncWrite}; use actix_service::{Service, ServiceFactory}; use actix_utils::counter::{Counter, CounterGuard}; -use futures_util::future::{ok, Ready}; +use futures_util::future::{ready, Ready}; use tokio_rustls::{Accept, TlsAcceptor}; pub use rust_tls::{ServerConfig, Session}; @@ -50,19 +50,19 @@ impl ServiceFactory for Acceptor { type Request = T; type Response = TlsStream; type Error = io::Error; - type Service = AcceptorService; - type Config = (); + + type Service = AcceptorService; type InitError = (); type Future = Ready>; fn new_service(&self, _: ()) -> Self::Future { MAX_CONN_COUNTER.with(|conns| { - ok(AcceptorService { + ready(Ok(AcceptorService { acceptor: self.config.clone().into(), conns: conns.clone(), io: PhantomData, - }) + })) }) } } @@ -109,11 +109,6 @@ impl Future for AcceptorServiceFut { fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { let this = self.get_mut(); - - let res = futures_util::ready!(Pin::new(&mut this.fut).poll(cx)); - match res { - Ok(io) => Poll::Ready(Ok(io)), - Err(e) => Poll::Ready(Err(e)), - } + Pin::new(&mut this.fut).poll(cx) } }