diff --git a/tokio-rustls/src/lib.rs b/tokio-rustls/src/lib.rs index 242b090..6c3960a 100644 --- a/tokio-rustls/src/lib.rs +++ b/tokio-rustls/src/lib.rs @@ -308,6 +308,22 @@ impl Connect { pub fn into_fallible(self) -> FallibleConnect { FallibleConnect(self.0) } + + pub fn get_ref(&self) -> Option<&IO> { + match &self.0 { + MidHandshake::Handshaking(sess) => Some(sess.get_ref().0), + MidHandshake::Error { io, .. } => Some(io), + MidHandshake::End => None, + } + } + + pub fn get_mut(&mut self) -> Option<&mut IO> { + match &mut self.0 { + MidHandshake::Handshaking(sess) => Some(sess.get_mut().0), + MidHandshake::Error { io, .. } => Some(io), + MidHandshake::End => None, + } + } } impl Accept { @@ -315,6 +331,22 @@ impl Accept { pub fn into_fallible(self) -> FallibleAccept { FallibleAccept(self.0) } + + pub fn get_ref(&self) -> Option<&IO> { + match &self.0 { + MidHandshake::Handshaking(sess) => Some(sess.get_ref().0), + MidHandshake::Error { io, .. } => Some(io), + MidHandshake::End => None, + } + } + + pub fn get_mut(&mut self) -> Option<&mut IO> { + match &mut self.0 { + MidHandshake::Handshaking(sess) => Some(sess.get_mut().0), + MidHandshake::Error { io, .. } => Some(io), + MidHandshake::End => None, + } + } } impl Future for Connect {