From e8a49801eb0f35f23768c08bd71870a2359cd616 Mon Sep 17 00:00:00 2001 From: Nikolay Kim Date: Mon, 4 Mar 2019 21:35:47 -0800 Subject: [PATCH] revert IntoFuture change --- actix-server/Cargo.toml | 3 ++- actix-server/src/config.rs | 3 +-- actix-server/src/services.rs | 3 +-- actix-service/CHANGES.md | 4 ++++ actix-service/src/and_then.rs | 16 +++++----------- actix-service/src/and_then_apply.rs | 14 +++++++------- actix-service/src/and_then_apply_fn.rs | 4 ++-- actix-service/src/apply.rs | 6 +++--- actix-service/src/from_err.rs | 6 +++--- actix-service/src/lib.rs | 2 +- actix-service/src/map.rs | 8 ++++---- actix-service/src/map_err.rs | 8 ++++---- actix-service/src/map_init_err.rs | 8 ++++---- actix-service/src/then.rs | 16 +++++----------- actix-service/src/transform.rs | 4 ++-- actix-service/src/transform_map_init_err.rs | 11 ++++------- actix-utils/Cargo.toml | 3 ++- actix-utils/src/either.rs | 4 ++-- actix-utils/src/framed.rs | 2 +- actix-utils/src/stream.rs | 3 +-- 20 files changed, 58 insertions(+), 70 deletions(-) diff --git a/actix-server/Cargo.toml b/actix-server/Cargo.toml index 4009a14d..68e9a310 100644 --- a/actix-server/Cargo.toml +++ b/actix-server/Cargo.toml @@ -33,7 +33,8 @@ ssl = ["openssl", "tokio-openssl"] rust-tls = ["rustls", "tokio-rustls", "webpki", "webpki-roots"] [dependencies] -actix-service = "0.3.2" +#actix-service = "0.3.2" +actix-service = { path="../actix-service" } actix-rt = "0.1.0" log = "0.4" diff --git a/actix-server/src/config.rs b/actix-server/src/config.rs index fa51c4d1..e142838a 100644 --- a/actix-server/src/config.rs +++ b/actix-server/src/config.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use std::{fmt, io, net}; use actix_service::{IntoNewService, NewService}; -use futures::future::{join_all, Future, IntoFuture}; +use futures::future::{join_all, Future}; use log::error; use tokio_tcp::TcpStream; @@ -223,7 +223,6 @@ where Box::new( self.inner .new_service(&()) - .into_future() .map_err(|_| ()) .map(|s| { let service: BoxedServerService = Box::new(StreamService::new(s)); diff --git a/actix-server/src/services.rs b/actix-server/src/services.rs index a986d330..2aaf998d 100644 --- a/actix-server/src/services.rs +++ b/actix-server/src/services.rs @@ -3,7 +3,7 @@ use std::time::Duration; use actix_rt::spawn; use actix_service::{NewService, Service}; -use futures::future::{err, ok, FutureResult, IntoFuture}; +use futures::future::{err, ok, FutureResult}; use futures::{Future, Poll}; use log::error; use tokio_reactor::Handle; @@ -129,7 +129,6 @@ where self.inner .create() .new_service(&()) - .into_future() .map_err(|_| ()) .map(move |inner| { let service: BoxedServerService = Box::new(StreamService::new(inner)); diff --git a/actix-service/CHANGES.md b/actix-service/CHANGES.md index f28218e6..6df36058 100644 --- a/actix-service/CHANGES.md +++ b/actix-service/CHANGES.md @@ -6,6 +6,10 @@ * Add `ApplyTransform` new service for transform and new service. +### Changed + +* Revert IntoFuture change + ## [0.3.2] - 2019-03-04 diff --git a/actix-service/src/and_then.rs b/actix-service/src/and_then.rs index 9ef3a4d7..ee0f5e18 100644 --- a/actix-service/src/and_then.rs +++ b/actix-service/src/and_then.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use futures::{try_ready, Async, Future, IntoFuture, Poll}; +use futures::{try_ready, Async, Future, Poll}; use super::{IntoNewService, NewService, Service}; use crate::cell::Cell; @@ -142,10 +142,7 @@ where type Future = AndThenNewServiceFuture; fn new_service(&self, cfg: &C) -> Self::Future { - AndThenNewServiceFuture::new( - self.a.new_service(cfg).into_future(), - self.b.new_service(cfg).into_future(), - ) + AndThenNewServiceFuture::new(self.a.new_service(cfg), self.b.new_service(cfg)) } } @@ -168,8 +165,8 @@ where A: NewService, B: NewService, { - fut_b: ::Future, - fut_a: ::Future, + fut_b: B::Future, + fut_a: A::Future, a: Option, b: Option, } @@ -179,10 +176,7 @@ where A: NewService, B: NewService, { - fn new( - fut_a: ::Future, - fut_b: ::Future, - ) -> Self { + fn new(fut_a: A::Future, fut_b: B::Future) -> Self { AndThenNewServiceFuture { fut_a, fut_b, diff --git a/actix-service/src/and_then_apply.rs b/actix-service/src/and_then_apply.rs index 83f17917..7ea0dab3 100644 --- a/actix-service/src/and_then_apply.rs +++ b/actix-service/src/and_then_apply.rs @@ -1,6 +1,6 @@ use std::rc::Rc; -use futures::{Async, Future, IntoFuture, Poll}; +use futures::{Async, Future, Poll}; use crate::and_then::AndThen; use crate::from_err::FromErr; @@ -67,8 +67,8 @@ where a: None, t: None, t_cell: self.t.clone(), - fut_a: self.a.new_service(cfg).into_future(), - fut_b: self.b.new_service(cfg).into_future(), + fut_a: self.a.new_service(cfg), + fut_b: self.b.new_service(cfg), fut_t: None, } } @@ -81,9 +81,9 @@ where T: Transform, T::Error: From, { - fut_a: ::Future, - fut_b: ::Future, - fut_t: Option<::Future>, + fut_a: A::Future, + fut_b: B::Future, + fut_t: Option, a: Option, t: Option, t_cell: Rc, @@ -102,7 +102,7 @@ where fn poll(&mut self) -> Poll { if self.fut_t.is_none() { if let Async::Ready(service) = self.fut_b.poll()? { - self.fut_t = Some(self.t_cell.new_transform(service).into_future()); + self.fut_t = Some(self.t_cell.new_transform(service)); } } diff --git a/actix-service/src/and_then_apply_fn.rs b/actix-service/src/and_then_apply_fn.rs index 19dbf5ce..41b536dc 100644 --- a/actix-service/src/and_then_apply_fn.rs +++ b/actix-service/src/and_then_apply_fn.rs @@ -209,8 +209,8 @@ where Out: IntoFuture, Out::Error: Into, { - fut_b: ::Future, - fut_a: ::Future, + fut_b: B::Future, + fut_a: A::Future, f: Cell, a: Option, b: Option, diff --git a/actix-service/src/apply.rs b/actix-service/src/apply.rs index 6700a5bc..d5dda2d4 100644 --- a/actix-service/src/apply.rs +++ b/actix-service/src/apply.rs @@ -124,7 +124,7 @@ where type Future = ApplyNewServiceFuture; fn new_service(&self, cfg: &Cfg) -> Self::Future { - ApplyNewServiceFuture::new(self.service.new_service(cfg).into_future(), self.f.clone()) + ApplyNewServiceFuture::new(self.service.new_service(cfg), self.f.clone()) } } @@ -134,7 +134,7 @@ where F: FnMut(In, &mut T::Service) -> Out + Clone, Out: IntoFuture, { - fut: ::Future, + fut: T::Future, f: Option, r: PhantomData<(In, Out)>, } @@ -145,7 +145,7 @@ where F: FnMut(In, &mut T::Service) -> Out + Clone, Out: IntoFuture, { - fn new(fut: ::Future, f: F) -> Self { + fn new(fut: T::Future, f: F) -> Self { ApplyNewServiceFuture { f: Some(f), fut, diff --git a/actix-service/src/from_err.rs b/actix-service/src/from_err.rs index 52477193..31ccb2d9 100644 --- a/actix-service/src/from_err.rs +++ b/actix-service/src/from_err.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use futures::{Async, Future, IntoFuture, Poll}; +use futures::{Async, Future, Poll}; use super::{NewService, Service}; @@ -124,7 +124,7 @@ where fn new_service(&self, cfg: &C) -> Self::Future { FromErrNewServiceFuture { - fut: self.a.new_service(cfg).into_future(), + fut: self.a.new_service(cfg), e: PhantomData, } } @@ -135,7 +135,7 @@ where A: NewService, E: From, { - fut: ::Future, + fut: A::Future, e: PhantomData, } diff --git a/actix-service/src/lib.rs b/actix-service/src/lib.rs index 4b58c231..8dfc6b22 100644 --- a/actix-service/src/lib.rs +++ b/actix-service/src/lib.rs @@ -199,7 +199,7 @@ pub trait NewService { type InitError; /// The future of the `Service` instance. - type Future: IntoFuture; + type Future: Future; /// Create and return a new service value asynchronously. fn new_service(&self, cfg: &Config) -> Self::Future; diff --git a/actix-service/src/map.rs b/actix-service/src/map.rs index 1c35ba4c..a98d14f5 100644 --- a/actix-service/src/map.rs +++ b/actix-service/src/map.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use futures::{Async, Future, IntoFuture, Poll}; +use futures::{Async, Future, Poll}; use super::{NewService, Service}; @@ -146,7 +146,7 @@ where type Future = MapNewServiceFuture; fn new_service(&self, cfg: &Cfg) -> Self::Future { - MapNewServiceFuture::new(self.a.new_service(cfg).into_future(), self.f.clone()) + MapNewServiceFuture::new(self.a.new_service(cfg), self.f.clone()) } } @@ -155,7 +155,7 @@ where A: NewService, F: FnMut(A::Response) -> Res, { - fut: ::Future, + fut: A::Future, f: Option, } @@ -164,7 +164,7 @@ where A: NewService, F: FnMut(A::Response) -> Res, { - fn new(fut: ::Future, f: F) -> Self { + fn new(fut: A::Future, f: F) -> Self { MapNewServiceFuture { f: Some(f), fut } } } diff --git a/actix-service/src/map_err.rs b/actix-service/src/map_err.rs index 26c12fe8..cd15d239 100644 --- a/actix-service/src/map_err.rs +++ b/actix-service/src/map_err.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use futures::{Async, Future, IntoFuture, Poll}; +use futures::{Async, Future, Poll}; use super::{NewService, Service}; @@ -147,7 +147,7 @@ where type Future = MapErrNewServiceFuture; fn new_service(&self, cfg: &C) -> Self::Future { - MapErrNewServiceFuture::new(self.a.new_service(cfg).into_future(), self.f.clone()) + MapErrNewServiceFuture::new(self.a.new_service(cfg), self.f.clone()) } } @@ -156,7 +156,7 @@ where A: NewService, F: Fn(A::Error) -> E, { - fut: ::Future, + fut: A::Future, f: F, } @@ -165,7 +165,7 @@ where A: NewService, F: Fn(A::Error) -> E, { - fn new(fut: ::Future, f: F) -> Self { + fn new(fut: A::Future, f: F) -> Self { MapErrNewServiceFuture { f, fut } } } diff --git a/actix-service/src/map_init_err.rs b/actix-service/src/map_init_err.rs index 0cf2ad2e..094a4dbe 100644 --- a/actix-service/src/map_init_err.rs +++ b/actix-service/src/map_init_err.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use futures::{Future, IntoFuture, Poll}; +use futures::{Future, Poll}; use super::NewService; @@ -54,7 +54,7 @@ where type Future = MapInitErrFuture; fn new_service(&self, cfg: &C) -> Self::Future { - MapInitErrFuture::new(self.a.new_service(cfg).into_future(), self.f.clone()) + MapInitErrFuture::new(self.a.new_service(cfg), self.f.clone()) } } @@ -64,7 +64,7 @@ where F: Fn(A::InitError) -> E, { f: F, - fut: ::Future, + fut: A::Future, } impl MapInitErrFuture @@ -72,7 +72,7 @@ where A: NewService, F: Fn(A::InitError) -> E, { - fn new(fut: ::Future, f: F) -> Self { + fn new(fut: A::Future, f: F) -> Self { MapInitErrFuture { f, fut } } } diff --git a/actix-service/src/then.rs b/actix-service/src/then.rs index 1bfc5c79..c0a31bfd 100644 --- a/actix-service/src/then.rs +++ b/actix-service/src/then.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use futures::{try_ready, Async, Future, IntoFuture, Poll}; +use futures::{try_ready, Async, Future, Poll}; use super::{IntoNewService, NewService, Service}; use crate::cell::Cell; @@ -157,10 +157,7 @@ where type Future = ThenNewServiceFuture; fn new_service(&self, cfg: &C) -> Self::Future { - ThenNewServiceFuture::new( - self.a.new_service(cfg).into_future(), - self.b.new_service(cfg).into_future(), - ) + ThenNewServiceFuture::new(self.a.new_service(cfg), self.b.new_service(cfg)) } } @@ -188,8 +185,8 @@ where InitError = A::InitError, >, { - fut_b: ::Future, - fut_a: ::Future, + fut_b: B::Future, + fut_a: A::Future, a: Option, b: Option, } @@ -204,10 +201,7 @@ where InitError = A::InitError, >, { - fn new( - fut_a: ::Future, - fut_b: ::Future, - ) -> Self { + fn new(fut_a: A::Future, fut_b: B::Future) -> Self { ThenNewServiceFuture { fut_a, fut_b, diff --git a/actix-service/src/transform.rs b/actix-service/src/transform.rs index 741d91a6..3e8a693e 100644 --- a/actix-service/src/transform.rs +++ b/actix-service/src/transform.rs @@ -31,7 +31,7 @@ pub trait Transform { type InitError; /// The future response value. - type Future: IntoFuture; + type Future: Future; /// Create and return a new service value asynchronously. fn new_transform(&self, service: S) -> Self::Future; @@ -147,7 +147,7 @@ where A: NewService, T: Transform, { - fut_a: ::Future, + fut_a: A::Future, fut_t: Option<::Future>, t_cell: Rc, } diff --git a/actix-service/src/transform_map_init_err.rs b/actix-service/src/transform_map_init_err.rs index 3a310068..0b0dd9b9 100644 --- a/actix-service/src/transform_map_init_err.rs +++ b/actix-service/src/transform_map_init_err.rs @@ -1,6 +1,6 @@ use std::marker::PhantomData; -use futures::{Future, IntoFuture, Poll}; +use futures::{Future, Poll}; use super::Transform; @@ -57,10 +57,7 @@ where type Future = TransformMapInitErrFuture; fn new_transform(&self, service: S) -> Self::Future { - TransformMapInitErrFuture::new( - self.t.new_transform(service).into_future(), - self.f.clone(), - ) + TransformMapInitErrFuture::new(self.t.new_transform(service), self.f.clone()) } } @@ -69,7 +66,7 @@ where T: Transform, F: Fn(T::InitError) -> E, { - fut: ::Future, + fut: T::Future, f: F, } @@ -78,7 +75,7 @@ where T: Transform, F: Fn(T::InitError) -> E, { - fn new(fut: ::Future, f: F) -> Self { + fn new(fut: T::Future, f: F) -> Self { TransformMapInitErrFuture { f, fut } } } diff --git a/actix-utils/Cargo.toml b/actix-utils/Cargo.toml index 1862ed6d..82554ed2 100644 --- a/actix-utils/Cargo.toml +++ b/actix-utils/Cargo.toml @@ -18,7 +18,8 @@ name = "actix_utils" path = "src/lib.rs" [dependencies] -actix-service = "0.3.2" +#actix-service = "0.3.2" +actix-service = { path="../actix-service" } actix-codec = "0.1.0" bytes = "0.4" futures = "0.1.24" diff --git a/actix-utils/src/either.rs b/actix-utils/src/either.rs index 71f99f26..885cd095 100644 --- a/actix-utils/src/either.rs +++ b/actix-utils/src/either.rs @@ -102,8 +102,8 @@ where fn new_service(&self, cfg: &C) -> Self::Future { match self { - Either::A(ref inner) => EitherNewService::A(inner.new_service(cfg).into_future()), - Either::B(ref inner) => EitherNewService::B(inner.new_service(cfg).into_future()), + Either::A(ref inner) => EitherNewService::A(inner.new_service(cfg)), + Either::B(ref inner) => EitherNewService::B(inner.new_service(cfg)), } } } diff --git a/actix-utils/src/framed.rs b/actix-utils/src/framed.rs index e0719069..d539a1e6 100644 --- a/actix-utils/src/framed.rs +++ b/actix-utils/src/framed.rs @@ -120,7 +120,7 @@ where fn call(&mut self, req: Framed) -> Self::Future { FramedServiceResponseFuture { - fut: self.factory.new_service(&self.config).into_future(), + fut: self.factory.new_service(&self.config), framed: Some(req), } } diff --git a/actix-utils/src/stream.rs b/actix-utils/src/stream.rs index f871c758..e98659c9 100644 --- a/actix-utils/src/stream.rs +++ b/actix-utils/src/stream.rs @@ -4,7 +4,7 @@ use std::rc::Rc; use actix_service::{IntoNewService, IntoService, NewService, Service}; use futures::future::{ok, Future, FutureResult}; use futures::unsync::mpsc; -use futures::{Async, IntoFuture, Poll, Stream}; +use futures::{Async, Poll, Stream}; type Request = Result<::Item, ::Error>; @@ -113,7 +113,6 @@ where Box::new( self.factory .new_service(&self.config) - .into_future() .and_then(move |srv| StreamDispatcher::new(req, srv)), ) }