| Home | Libraries | People | FAQ | More

###### connection::async_connect (1 of 2 overloads)

Establishes a connection to a MySQL server.

###### Synopsis

    template<
        typename EndpointType,
        class CompletionToken>
    auto
    async_connect(
        const EndpointType& endpoint,
        const handshake_params& params,
        CompletionToken&& token);

###### Description

This function is only available if `Stream` satisfies the `SocketStream` concept.

Connects the underlying stream and performs the handshake with the server. The underlying stream is closed in case of error. Prefer this function to `connection::handshake`.

If using a SSL-capable stream, the SSL handshake will be performed by this function.

`endpoint`should be convertible to `Stream::lowest_layer_type::endpoint_type`.

###### Object lifetimes

The strings pointed to by `params` should be kept alive by the caller until the operation completes, as no copy is made by the library. `endpoint` is copied as required and doesn't need to be kept alive.

###### Handler signature

The handler signature for this operation is `void(boost::mysql::error_code)`.