diff --git a/actix-connect/Cargo.toml b/actix-connect/Cargo.toml index e5a9a38e..19be727f 100644 --- a/actix-connect/Cargo.toml +++ b/actix-connect/Cargo.toml @@ -37,7 +37,7 @@ actix-service = "1.0.0-alpha.1" actix-codec = "0.2.0-alpha.1" actix-utils = "0.5.0-alpha.1" actix-rt = "1.0.0-alpha.1" -derive_more = "0.15" +derive_more = "0.99" either = "1.5.2" futures = "0.3.1" http = { version = "0.1.17", optional = true } diff --git a/actix-threadpool/Cargo.toml b/actix-threadpool/Cargo.toml index da6a9133..ee431969 100644 --- a/actix-threadpool/Cargo.toml +++ b/actix-threadpool/Cargo.toml @@ -18,7 +18,7 @@ name = "actix_threadpool" path = "src/lib.rs" [dependencies] -derive_more = "0.15" +derive_more = "0.99" futures = "0.3.1" parking_lot = "0.9" lazy_static = "1.2" diff --git a/actix-utils/src/order.rs b/actix-utils/src/order.rs index 61e00fd9..12c30ace 100644 --- a/actix-utils/src/order.rs +++ b/actix-utils/src/order.rs @@ -8,7 +8,7 @@ use std::rc::Rc; use std::task::{Context, Poll}; use actix_service::{IntoService, Service, Transform}; -use futures::future::{ok, ready, FutureExt, Ready}; +use futures::future::{ok, Ready}; use crate::oneshot; use crate::task::LocalWaker; @@ -173,11 +173,12 @@ where self.acks.push_back(Record { rx: rx1, tx: tx2 }); let task = self.task.clone(); - tokio_executor::current_thread::spawn(self.service.call(request).then(move |res| { + let fut = self.service.call(request); + tokio_executor::current_thread::spawn(async move { + let res = fut.await; task.wake(); let _ = tx1.send(res); - ready(()) - })); + }); InOrderServiceResponse { rx: rx2 } }