1
0
mirror of https://github.com/fafhrd91/actix-net synced 2025-08-13 11:58:23 +02:00

Compare commits

...

5 Commits

Author SHA1 Message Date
Nikolay Kim
9982a9498d register current task in counters available method. 2019-10-08 15:02:43 +06:00
Nikolay Kim
fa72975f34 extra trace logging 2019-10-08 14:46:22 +06:00
Sven-Hendrik Haase
fe5de2510d Merge pull request #56 from actix/fix-52
Add an error message if we receive a non-hostname-based dest
2019-10-04 13:48:20 +02:00
Yuki Okushi
e3155957a8 Prepare actix-server release (#55) 2019-10-04 17:36:23 +09:00
Sven-Hendrik Haase
f6f9e1fcdb Add an error message if we receive a non-hostname-based dest
This is more helpful than an unwrap and at least points users at the right location.
Upstream issue is https://github.com/briansmith/webpki/issues/54
2019-10-04 07:30:13 +02:00
10 changed files with 24 additions and 12 deletions

View File

@@ -209,6 +209,7 @@ where
// get a spurious 0 that looks like EOF
self.buffer.reserve(1);
if 0 == try_ready!(self.inner.read_buf(&mut self.buffer)) {
trace!("read 0 bytes, mark stream as eof");
self.eof = true;
}

View File

@@ -94,7 +94,8 @@ where
fn call(&mut self, stream: Connection<T, U>) -> Self::Future {
trace!("SSL Handshake start for: {:?}", stream.host());
let (io, stream) = stream.replace(());
let host = DNSNameRef::try_from_ascii_str(stream.host()).unwrap();
let host = DNSNameRef::try_from_ascii_str(stream.host())
.expect("rustls currently only handles hostname-based connections. See https://github.com/briansmith/webpki/issues/54");
ConnectAsyncExt {
fut: TlsConnector::from(self.connector.clone()).connect(host, io),
stream: Some(stream),

View File

@@ -42,6 +42,7 @@ fn test_rustls_string() {
let con = test::call_service(&mut conn, addr.into());
assert_eq!(con.peer_addr().unwrap(), srv.addr());
}
#[test]
fn test_static_str() {
let srv = TestServer::with(|| {

View File

@@ -147,6 +147,7 @@ where
}
Ok(Async::NotReady) => return false,
Ok(Async::Ready(None)) => {
log::trace!("Client disconnected");
self.dispatch_state = FramedState::Stopping;
return true;
}

View File

@@ -1,6 +1,6 @@
# Changes
## Next
## [0.7.0] - 2019-10-04
### Changed

View File

@@ -1,6 +1,6 @@
[package]
name = "actix-server"
version = "0.6.1"
version = "0.7.0"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
description = "Actix server - General purpose tcp server"
keywords = ["network", "framework", "async", "futures"]

View File

@@ -18,7 +18,7 @@ path = "src/lib.rs"
[dependencies]
actix-rt = "0.2.1"
actix-server = "0.6.0"
actix-server = "0.7.0"
actix-server-config = "0.2.0"
actix-service = "0.4.0"

View File

@@ -1,5 +1,10 @@
# Changes
## [0.4.6] - 2019-10-08
* Refactor `Counter` type. register current task in available method.
## [0.4.5] - 2019-07-19
### Removed

View File

@@ -1,6 +1,6 @@
[package]
name = "actix-utils"
version = "0.4.5"
version = "0.4.6"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
description = "Actix utils - various actix net related services"
keywords = ["network", "framework", "async", "futures"]

View File

@@ -25,11 +25,13 @@ impl Counter {
}))
}
/// Get counter guard.
pub fn get(&self) -> CounterGuard {
CounterGuard::new(self.0.clone())
}
/// Check if counter is not at capacity
/// Check if counter is not at capacity. If counter at capacity
/// it registers notification for current task.
pub fn available(&self) -> bool {
self.0.available()
}
@@ -57,11 +59,7 @@ impl Drop for CounterGuard {
impl CounterInner {
fn inc(&self) {
let num = self.count.get() + 1;
self.count.set(num);
if num == self.capacity {
self.task.register();
}
self.count.set(self.count.get() + 1);
}
fn dec(&self) {
@@ -73,6 +71,11 @@ impl CounterInner {
}
fn available(&self) -> bool {
self.count.get() < self.capacity
if self.count.get() < self.capacity {
true
} else {
self.task.register();
false
}
}
}