##### ssl::stream::async_handshake (1 of 2 overloads)

Start an asynchronous SSL handshake.

    template<
        typename HandshakeHandler = DEFAULT>
    DEDUCED async_handshake(
        handshake_type type,
        HandshakeHandler && handler = DEFAULT);

This function is used to asynchronously perform an SSL handshake on the stream. This function call always returns immediately.

###### Parameters

type

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

handler

  The handler to be called when the handshake operation completes. Copies will be made of the handler as required. The equivalent function signature of the handler must be:

      void handler(
        const asio::error_code& error // Result of operation.
      );