diff --git a/CHANGES.md b/CHANGES.md index 902c13c9..c23c39f1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,12 @@ # Changes +## [0.2.6] - 2018-12-21 + +### Fixed + +* Fix back-pressure handling for concurrent connections + + ## [0.2.5] - 2018-12-12 ### Fixed diff --git a/Cargo.toml b/Cargo.toml index c1873f27..437dfaca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "actix-net" -version = "0.2.5" +version = "0.2.6" authors = ["Nikolay Kim "] description = "Actix net - framework for the compisible network services for Rust (experimental)" readme = "README.md" @@ -58,8 +58,7 @@ tokio-timer = "0.2" tokio-reactor = "0.1" tokio-current-thread = "0.1" tower-service = "0.1" -trust-dns-proto = "^0.5.0" -trust-dns-resolver = "^0.10.0" +trust-dns-resolver = "^0.10.2" # native-tls native-tls = { version="0.2", optional = true } diff --git a/examples/basic.rs b/examples/basic.rs index 8162fcc6..f31b6d76 100644 --- a/examples/basic.rs +++ b/examples/basic.rs @@ -80,7 +80,8 @@ fn main() { future::ok(()) }) }, - ).unwrap() + ) + .unwrap() .start(); sys.run(); diff --git a/examples/ssl.rs b/examples/ssl.rs index 1d43f24d..62e3aac7 100644 --- a/examples/ssl.rs +++ b/examples/ssl.rs @@ -61,7 +61,8 @@ fn main() { println!("got ssl connection {:?}", num); future::ok(()) }) - }).unwrap() + }) + .unwrap() .start(); sys.run(); diff --git a/src/codec/framed_write.rs b/src/codec/framed_write.rs index 8d4fe15f..ae4881e7 100644 --- a/src/codec/framed_write.rs +++ b/src/codec/framed_write.rs @@ -254,7 +254,8 @@ where io::ErrorKind::WriteZero, "failed to \ write frame to transport", - ).into()); + ) + .into()); } // TODO: Add a way to `bytes` to do this w/o returning the drained diff --git a/src/lib.rs b/src/lib.rs index 0fd6e917..4240d062 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,10 +9,7 @@ #![cfg_attr( feature = "cargo-clippy", - allow( - declare_interior_mutable_const, - borrow_interior_mutable_const - ) + allow(declare_interior_mutable_const, borrow_interior_mutable_const) )] #[macro_use] diff --git a/src/server/services.rs b/src/server/services.rs index 58be7f73..f60cc6c7 100644 --- a/src/server/services.rs +++ b/src/server/services.rs @@ -83,9 +83,9 @@ where }); if let Ok(stream) = stream { - spawn(self.service.call(stream).map_err(|_| ()).map(move |val| { + spawn(self.service.call(stream).then(move |res| { drop(guard); - val + res.map_err(|_| ()) })); ok(()) } else { @@ -123,9 +123,9 @@ where } fn call(&mut self, (guard, req): (Option, ServerMessage)) -> Self::Future { - spawn(self.service.call(req).map_err(|_| ()).map(move |val| { + spawn(self.service.call(req).then(move |res| { drop(guard); - val + res.map_err(|_| ()) })); ok(()) } diff --git a/src/server/worker.rs b/src/server/worker.rs index faada4f3..c226310b 100644 --- a/src/server/worker.rs +++ b/src/server/worker.rs @@ -167,7 +167,8 @@ impl Worker { .map_err(|e| { error!("Can not start worker: {:?}", e); Arbiter::current().do_send(StopArbiter(0)); - }).and_then(move |services| { + }) + .and_then(move |services| { for item in services { for (idx, token, service) in item { while token.0 >= wrk.services.len() {