[][src]Struct openssl::ssl::SslStreamBuilder

pub struct SslStreamBuilder<S> { /* fields omitted */ }

A partially constructed SslStream, useful for unusual handshakes.

Methods

impl<S> SslStreamBuilder<S> where
    S: Read + Write
[src]

pub fn new(ssl: Ssl, stream: S) -> Self[src]

Begin creating an SslStream atop stream

pub fn set_connect_state(&mut self)[src]

Configure as an outgoing stream from a client.

This corresponds to SSL_set_connect_state.

pub fn set_accept_state(&mut self)[src]

Configure as an incoming stream to a server.

This corresponds to SSL_set_accept_state.

pub fn connect(self) -> Result<SslStream<S>, HandshakeError<S>>[src]

See Ssl::connect

pub fn accept(self) -> Result<SslStream<S>, HandshakeError<S>>[src]

See Ssl::accept

pub fn handshake(self) -> Result<SslStream<S>, HandshakeError<S>>[src]

Initiates the handshake.

This will fail if set_accept_state or set_connect_state was not called first.

This corresponds to SSL_do_handshake.

impl<S> SslStreamBuilder<S>[src]

pub fn get_ref(&self) -> &S[src]

Returns a shared reference to the underlying stream.

pub fn get_mut(&mut self) -> &mut S[src]

Returns a mutable reference to the underlying stream.

Warning

It is inadvisable to read from or write to the underlying stream as it will most likely corrupt the SSL session.

pub fn ssl(&self) -> &SslRef[src]

Returns a shared reference to the Ssl object associated with this builder.

pub fn set_dtls_mtu_size(&mut self, mtu_size: usize)[src]

Set the DTLS MTU size.

It will be ignored if the value is smaller than the minimum packet size the DTLS protocol requires.

Panics

This function panics if the given mtu size can't be represented in a positive c_long range

Auto Trait Implementations

impl<S> RefUnwindSafe for SslStreamBuilder<S> where
    S: RefUnwindSafe

impl<S> Send for SslStreamBuilder<S> where
    S: Send

impl<S> Sync for SslStreamBuilder<S> where
    S: Sync

impl<S> Unpin for SslStreamBuilder<S> where
    S: Unpin

impl<S> UnwindSafe for SslStreamBuilder<S> where
    S: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.