diff --git a/actix-connector/CHANGES.md b/actix-connector/CHANGES.md index 8ef772c8..2dc2b008 100644 --- a/actix-connector/CHANGES.md +++ b/actix-connector/CHANGES.md @@ -1,5 +1,12 @@ # Changes +## [0.1.2] - 2019-01-xx + +* Upgrade trust-dns-resolver + +* Use tokio-current-thread instead of diract actix-rt dipendency + + ## [0.1.1] - 2019-01-13 * Upgrade trust-dns-proto diff --git a/actix-connector/Cargo.toml b/actix-connector/Cargo.toml index e93ebbd5..25d2d87e 100644 --- a/actix-connector/Cargo.toml +++ b/actix-connector/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "actix-connector" -version = "0.1.1" +version = "0.1.2" authors = ["Nikolay Kim "] description = "Actix Connector - tcp connector service" keywords = ["network", "framework", "async", "futures"] @@ -27,13 +27,12 @@ default = [] ssl = ["openssl", "tokio-openssl"] [dependencies] -actix-service = "0.1.1" +actix-service = "0.1.6" actix-codec = "0.1.0" -actix-rt = "0.1.0" futures = "0.1" tokio-tcp = "0.1" -trust-dns-proto = "0.6.2" -trust-dns-resolver = "0.10.2" +tokio-current-thread = "0.1" +trust-dns-resolver = { version="0.11.0-alpha.1", default-features = false } # openssl openssl = { version="0.10", optional = true } diff --git a/actix-connector/src/resolver.rs b/actix-connector/src/resolver.rs index ae085e5b..d6ee2612 100644 --- a/actix-connector/src/resolver.rs +++ b/actix-connector/src/resolver.rs @@ -42,7 +42,7 @@ impl Resolver { /// Create new resolver instance with custom configuration and options. pub fn new(cfg: ResolverConfig, opts: ResolverOpts) -> Self { let (resolver, bg) = AsyncResolver::new(cfg, opts); - actix_rt::Arbiter::spawn(bg); + tokio_current_thread::spawn(bg); Resolver { resolver, req: PhantomData, diff --git a/actix-server/CHANGES.md b/actix-server/CHANGES.md index 75227b73..49016875 100644 --- a/actix-server/CHANGES.md +++ b/actix-server/CHANGES.md @@ -1,5 +1,12 @@ # Changes +## [0.1.4] - 2018-12-xx + +## Changes + +* Updated rustls dependency + + ## [0.1.3] - 2018-12-21 ## Fixed diff --git a/actix-server/Cargo.toml b/actix-server/Cargo.toml index bbfb7dc4..d14f31ec 100644 --- a/actix-server/Cargo.toml +++ b/actix-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "actix-server" -version = "0.1.3" +version = "0.1.4" authors = ["Nikolay Kim "] description = "Actix server - General purpose tcp server" keywords = ["network", "framework", "async", "futures"] @@ -47,7 +47,7 @@ futures = "0.1" slab = "0.4" tokio-io = "0.1" tokio-tcp = "0.1" -tokio-timer = "0.2" +tokio-timer = "0.2.8" tokio-reactor = "0.1" tokio-signal = "0.2" @@ -59,13 +59,11 @@ openssl = { version="0.10", optional = true } tokio-openssl = { version="0.3", optional = true } #rustls -rustls = { version = "^0.14", optional = true } -tokio-rustls = { version = "^0.8", optional = true } -webpki = { version = "0.18", optional = true } -webpki-roots = { version = "0.15", optional = true } +rustls = { version = "^0.15", optional = true } +tokio-rustls = { version = "^0.9", optional = true } +webpki = { version = "0.19", optional = true } +webpki-roots = { version = "0.16", optional = true } [dev-dependencies] -env_logger = "0.5" -actix-service = "0.1.1" +env_logger = "0.6" actix-codec = "0.1.0" -actix-rt = "0.1.0" diff --git a/actix-test-server/Cargo.toml b/actix-test-server/Cargo.toml index aae7baed..ccc26f3a 100644 --- a/actix-test-server/Cargo.toml +++ b/actix-test-server/Cargo.toml @@ -51,7 +51,7 @@ native-tls = { version="0.2", optional = true } openssl = { version="0.10", optional = true } #rustls -rustls = { version = "^0.14", optional = true } -tokio-rustls = { version = "^0.8", optional = true } -webpki = { version = "0.18", optional = true } -webpki-roots = { version = "0.15", optional = true } +rustls = { version = "^0.15", optional = true } +tokio-rustls = { version = "^0.9", optional = true } +webpki = { version = "0.19", optional = true } +webpki-roots = { version = "0.16", optional = true } diff --git a/actix-utils/Cargo.toml b/actix-utils/Cargo.toml index 45c2e20f..6beb5816 100644 --- a/actix-utils/Cargo.toml +++ b/actix-utils/Cargo.toml @@ -18,10 +18,10 @@ name = "actix_utils" path = "src/lib.rs" [dependencies] -actix-service = "0.1.2" +actix-service = "0.1.6" actix-codec = "0.1.0" -actix-rt = "0.1.0" bytes = "0.4" futures = "0.1" tokio-timer = "0.2.8" +tokio-current-thread = "0.1" log = "0.4" \ No newline at end of file diff --git a/actix-utils/src/cell.rs b/actix-utils/src/cell.rs index 0f45c085..419709ce 100644 --- a/actix-utils/src/cell.rs +++ b/actix-utils/src/cell.rs @@ -1,17 +1,11 @@ //! Custom cell impl -#[cfg(feature = "cell")] use std::cell::UnsafeCell; -#[cfg(not(feature = "cell"))] -use std::cell::{Ref, RefCell, RefMut}; use std::fmt; use std::rc::Rc; pub(crate) struct Cell { - #[cfg(feature = "cell")] inner: Rc>, - #[cfg(not(feature = "cell"))] - inner: Rc>, } impl Clone for Cell { @@ -28,7 +22,6 @@ impl fmt::Debug for Cell { } } -#[cfg(feature = "cell")] impl Cell { pub fn new(inner: T) -> Self { Self { @@ -36,28 +29,11 @@ impl Cell { } } - pub fn borrow(&self) -> &T { + pub fn get_ref(&self) -> &T { unsafe { &*self.inner.as_ref().get() } } - pub fn borrow_mut(&self) -> &mut T { + pub fn get_mut(&mut self) -> &mut T { unsafe { &mut *self.inner.as_ref().get() } } } - -#[cfg(not(feature = "cell"))] -impl Cell { - pub fn new(inner: T) -> Self { - Self { - inner: Rc::new(RefCell::new(inner)), - } - } - - pub fn borrow(&self) -> Ref { - self.inner.borrow() - } - - pub fn borrow_mut(&self) -> RefMut { - self.inner.borrow_mut() - } -} diff --git a/actix-utils/src/cloneable.rs b/actix-utils/src/cloneable.rs index cbce3e29..2c7ddf5b 100644 --- a/actix-utils/src/cloneable.rs +++ b/actix-utils/src/cloneable.rs @@ -42,10 +42,10 @@ where type Future = T::Future; fn poll_ready(&mut self) -> Poll<(), Self::Error> { - self.service.borrow_mut().poll_ready() + self.service.get_mut().poll_ready() } fn call(&mut self, req: Request) -> Self::Future { - self.service.borrow_mut().call(req) + self.service.get_mut().call(req) } } diff --git a/actix-utils/src/framed.rs b/actix-utils/src/framed.rs index b8a2209e..980ff5e4 100644 --- a/actix-utils/src/framed.rs +++ b/actix-utils/src/framed.rs @@ -3,7 +3,6 @@ use std::marker::PhantomData; use std::mem; use actix_codec::{AsyncRead, AsyncWrite, Decoder, Encoder, Framed}; -use actix_rt::Arbiter; use actix_service::{IntoNewService, IntoService, NewService, Service}; use futures::future::{ok, FutureResult}; use futures::unsync::mpsc; @@ -251,7 +250,7 @@ where Ok(Async::Ready(_)) => { if let Some(item) = self.request.take() { let sender = self.write_tx.clone(); - Arbiter::spawn( + tokio_current_thread::spawn( self.service .call(item) .then(|item| sender.send(item).map(|_| ()).map_err(|_| ())), @@ -276,7 +275,7 @@ where match self.service.poll_ready() { Ok(Async::Ready(_)) => { let sender = self.write_tx.clone(); - Arbiter::spawn( + tokio_current_thread::spawn( self.service .call(item) .then(|item| sender.send(item).map(|_| ()).map_err(|_| ())), diff --git a/actix-utils/src/stream.rs b/actix-utils/src/stream.rs index 0a6fd0bf..7f35575a 100644 --- a/actix-utils/src/stream.rs +++ b/actix-utils/src/stream.rs @@ -1,7 +1,6 @@ use std::marker::PhantomData; use std::rc::Rc; -use actix_rt::spawn; use actix_service::{IntoNewService, IntoService, NewService, Service}; use futures::future::{ok, Future, FutureResult}; use futures::unsync::mpsc; @@ -162,11 +161,13 @@ where loop { match self.service.poll_ready()? { Async::Ready(_) => match self.stream.poll() { - Ok(Async::Ready(Some(item))) => spawn(StreamDispatcherService { - fut: self.service.call(Ok(item)), - stop: self.err_tx.clone(), - }), - Err(err) => spawn(StreamDispatcherService { + Ok(Async::Ready(Some(item))) => { + tokio_current_thread::spawn(StreamDispatcherService { + fut: self.service.call(Ok(item)), + stop: self.err_tx.clone(), + }) + } + Err(err) => tokio_current_thread::spawn(StreamDispatcherService { fut: self.service.call(Err(err)), stop: self.err_tx.clone(), }),