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:
@@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user