50 std::coroutine_handle<>
coro;
64 std::coroutine_handle<>
coro;
74 MYSQL_RES*
res{
nullptr};
116 MYSQL* mysql_{
nullptr};
117 bool connected_{
false};
119 void wait_for_status(
int status, std::function<
void()> callback);
An asynchronous MySQL client using coroutines and a network Proactor.
Definition MysqlClient.hpp:17
network::Proactor & get_proactor()
Gets the associated network proactor.
Definition MysqlClient.hpp:105
MysqlClient & operator=(const MysqlClient &)=delete
MYSQL * get_mysql()
Gets the underlying MySQL connection object.
Definition MysqlClient.hpp:111
void close()
Closes the MySQL connection.
Definition MysqlClient.cpp:19
ConnectAwaiter connect_async()
Connects to the MySQL database asynchronously.
Definition MysqlClient.cpp:72
MysqlClient(const MysqlClient &)=delete
QueryAwaiter query_async(std::string query)
Executes a query asynchronously.
Definition MysqlClient.cpp:153
~MysqlClient()
Definition MysqlClient.cpp:15
Represents a generic, unified result set from a database query.
Definition ResultSet.hpp:111
Definition Proactor.hpp:8
Definition ConnectionPool.hpp:10
A coroutine awaiter for connecting a PostgresClient asynchronously.
Definition PostgresCoro.hpp:12
Configuration options for the MySQL client.
Definition MysqlClient.hpp:22
std::string password
Definition MysqlClient.hpp:26
std::string user
Definition MysqlClient.hpp:25
std::string host
Definition MysqlClient.hpp:23
int port
Definition MysqlClient.hpp:24
std::string dbname
Definition MysqlClient.hpp:27
Definition MysqlClient.hpp:46
MysqlClient & client
Definition MysqlClient.hpp:47
void await_suspend(std::coroutine_handle<> h)
Definition MysqlClient.cpp:42
void await_resume()
Definition MysqlClient.cpp:65
void resume_loop()
Definition MysqlClient.cpp:54
MYSQL * ret_ptr
Definition MysqlClient.hpp:48
std::coroutine_handle coro
Definition MysqlClient.hpp:50
bool await_ready() const
Definition MysqlClient.hpp:52
int status
Definition MysqlClient.hpp:49
Definition MysqlClient.hpp:59
int err
Definition MysqlClient.hpp:62
ResultSet await_resume()
Definition MysqlClient.cpp:146
ResultSet result
Definition MysqlClient.hpp:65
void process_result_cont()
Definition MysqlClient.cpp:103
int status
Definition MysqlClient.hpp:63
MYSQL_RES * res
Definition MysqlClient.hpp:74
void resume_loop()
Definition MysqlClient.cpp:83
bool await_ready() const
Definition MysqlClient.hpp:67
std::coroutine_handle coro
Definition MysqlClient.hpp:64
void await_suspend(std::coroutine_handle<> h)
Definition MysqlClient.cpp:77
void process_result_start()
Definition MysqlClient.cpp:98
MysqlClient & client
Definition MysqlClient.hpp:60
std::string query
Definition MysqlClient.hpp:61
A coroutine awaiter for executing a query on a PostgresClient asynchronously.
Definition PostgresCoro.hpp:39