Merge pull request #1306 from crdumoul/master

Add SslStream::from_raw_parts
This commit is contained in:
Steven Fackler 2020-06-23 21:51:42 -04:00 committed by GitHub
commit ff4a2152dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 0 deletions

View File

@ -3474,6 +3474,18 @@ impl<S: Read + Write> SslStream<S> {
} }
} }
/// Constructs an `SslStream` from a pointer to the underlying OpenSSL `SSL` struct.
///
/// This is useful if the handshake has already been completed elsewhere.
///
/// # Safety
///
/// The caller must ensure the pointer is valid.
pub unsafe fn from_raw_parts(ssl: *mut ffi::SSL, stream: S) -> Self {
let ssl = Ssl::from_ptr(ssl);
Self::new_base(ssl, stream)
}
/// Like `read`, but returns an `ssl::Error` rather than an `io::Error`. /// Like `read`, but returns an `ssl::Error` rather than an `io::Error`.
/// ///
/// It is particularly useful with a nonblocking socket, where the error value will identify if /// It is particularly useful with a nonblocking socket, where the error value will identify if