![]() |
Home | Libraries | People | FAQ | More |
Establishes a connection to a MySQL server.
template< class CompletionToken> auto async_connect( const connect_params* params, diagnostics& diag, CompletionToken&& token);
This function performs the following:
connect
or async_connect
), closes it
at the transport layer (by closing any underlying socket) and discards
any protocol state associated to it. (If you require a clean close,
call close
or async_close
before using
this function).
params.server_address.type() == address_type::host_and_port
), resolves the passed
hostname to a set of endpoints. An empty hostname is equivalent to
"localhost"
.
You can configure some options using the connect_params
struct.
The decision to use TLS or not is performed using the following:
params.server_address.type() != address_type::host_and_port
), the connection
will never use TLS.
params.ssl
== ssl_mode::disable
,
the connection will not use TLS.
params.ssl
== ssl_mode::enable
,
the connection will use TLS only if the server supports it.
params.ssl
== ssl_mode::require
,
the connection will always use TLS. If the server doesn't support
it, this function will fail with client_errc::server_doesnt_support_ssl
.
If params.connection_collation
is within a set
of well-known collations, this function sets the current character set,
such that current_character_set
returns
a non-null value. The default collation (utf8mb4_general_ci
)
is the only one guaranteed to be in the set of well-known collations.
This function has the same behavior as the other async_connect
overloads, but perform less copies.
Zero-copy overload: no copies of the value pointed to by params
will be made. It must be kept
alive for the duration of the operation, until the final completion handler
is called. If you are in doubt, prefer the overloads taking a const connect_params&
, which will ensure lifetime correctness
for you.
params !=
nullptr
The handler signature for this operation is void(boost::mysql::error_code)
.