-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split TlsStream
like TcpStream
#84
Comments
I believe the Deno folks have worked on something in this space: https://github.com/denoland/rustls-tokio-stream that might be a useful comparison point. There's some previous discussion in an issue that was created when the Rustls specific code lived alongside the native-tls code in tokio-rs/tls#40 |
@cpu tokio-rustls is not affected by tokio-rs/tls#40 . Any split stream based on rustls must be locked until rustls support full-duplex mode. rustls/rustls#288 |
Ah! Thanks for clarifying. I had indeed missed that this discussion was centered around native-tls. |
rustls-tokio-stream is not really "lockfree tlsstream split". because this crate uses tokio::io::split which is based on std Mutex, the readhalf and writehalf before using should be locked. |
Tokio allows splitting a
TcpStream
into a (Owned
)ReadHalf
/ (Owned
)WriteHalf
viaTcpStream::split
/TcpStream::into_split
, but I don't believetokio_rustls
allows splitting aTlsStream
that wraps aTcpStream
. Is there a way to do this with the current API that I'm not thinking of? If not, I'd be interested in helping to implement this feature.The split method in
TcpStream
above is not the same astokio::io::split
. It supports true simultaneous reads and writes as opposed to just locking around the syscalls.The text was updated successfully, but these errors were encountered: