From 6bb3d8f1b5827ff27216d4219e08467b2461c071 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Fri, 20 Nov 2015 21:33:10 -0800 Subject: [PATCH] Implement try_clone for MaybeSslStream Closes #308 --- openssl/src/ssl/mod.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs index 2775c4c8..cca369a2 100644 --- a/openssl/src/ssl/mod.rs +++ b/openssl/src/ssl/mod.rs @@ -1416,6 +1416,16 @@ impl MaybeSslStream where S: Read+Write { } } +impl MaybeSslStream { + /// Like `TcpStream::try_clone`. + pub fn try_clone(&self) -> io::Result> { + match *self { + MaybeSslStream::Ssl(ref s) => s.try_clone().map(MaybeSslStream::Ssl), + MaybeSslStream::Normal(ref s) => s.try_clone().map(MaybeSslStream::Normal), + } + } +} + /// An SSL stream wrapping a nonblocking socket. #[derive(Clone)] pub struct NonblockingSslStream {