##### ssl::stream::handshake (3 of 4 overloads)

Perform SSL handshaking.

    template<
        typename ConstBufferSequence>
    void handshake(
        handshake_type type,
        const ConstBufferSequence & buffers);

This function is used to perform SSL handshaking on the stream. The function call will block until handshaking is complete or an error occurs.

###### Parameters

type

  The type of handshaking to be performed, i.e. as a client or as a server.

buffers

  The buffered data to be reused for the handshake.

###### Exceptions

asio::system_error

  Thrown on failure.