fix(net): Implement blocked() for OpensslStream

This should fix some busy looping when using OpenSSL. For example, if
the transport was blocked on a read, it wasn't surfaced to the
`http::Conn` and so the wrong interest was registered with the event
loop. Registering for the wrong interest triggered calls to
`http::Conn::ready()` which were unable to make progress.
This commit is contained in:
Joe Wilm
2016-10-18 15:11:32 -07:00
parent cd6c1b60bb
commit ac5d0ab3fe

View File

@@ -636,6 +636,10 @@ mod openssl {
fn take_socket_error(&mut self) -> io::Result<()> { fn take_socket_error(&mut self) -> io::Result<()> {
self.stream.get_mut().take_socket_error() self.stream.get_mut().take_socket_error()
} }
fn blocked(&self) -> Option<super::Blocked> {
self.blocked
}
} }
} }