26#ifndef ROUTER_IO_THREAD_INCLUDED
27#define ROUTER_IO_THREAD_INCLUDED
50 const std::string &backend_name =
"poll",
72 void stop() { io_ctx_.stop(); }
75 if (thr_.joinable()) thr_.join();
Definition: io_backend.h:36
Definition: io_thread.h:47
IoThread(size_t ndx, std::bitset< ThreadAffinity::max_cpus > cpu_affinity, const std::string &backend_name="poll", IoThreadLifecycle lifecycle={}, std::string name={})
Definition: io_thread.h:49
size_t ndx_
Definition: io_thread.h:83
net::io_context io_ctx_
Definition: io_thread.h:87
void join()
Definition: io_thread.h:74
std::bitset< ThreadAffinity::max_cpus > cpu_affinity_
Definition: io_thread.h:85
std::promise< void > startup_promise_
Definition: io_thread.h:91
std::bitset< ThreadAffinity::max_cpus > cpu_affinity() const
Definition: io_thread.h:78
IoThreadLifecycle lifecycle_
Definition: io_thread.h:90
void wait_until_started()
Definition: io_thread.h:70
std::future< void > startup_future_
Definition: io_thread.h:92
std::string name_
Definition: io_thread.h:84
~IoThread()
Definition: io_thread.h:61
net::io_context & context() noexcept
Definition: io_thread.h:66
void stop()
Definition: io_thread.h:72
std::thread thr_
Definition: io_thread.h:93
Definition: io_context.h:61
static void stop(mysql_harness::PluginFuncEnv *)
Definition: mysql_rest_service_plugin.cc:413
Definition: http_server_component.cc:36
Unique_ptr< T, std::nullptr_t > make_unique(size_t size)
In-place constructs a new unique pointer with no specific allocator and with array type T.
std::string to_string(LogLevel level)
Definition: mrs_component_backend.h:47
noexcept
The return type for any call_and_catch(f, args...) call where f(args...) returns Type.
Definition: call_and_catch.h:76
std::string join(const detail::range auto &rng, std::string_view delim)
join elements of a range into a string separated by a delimiter.
Definition: string.h:74
stdx::expected< native_handle_type, error_type > socket(int family, int sock_type, int protocol)
Definition: socket.h:63
Define std::hash<Gtid>.
Definition: gtid.h:355
case opt name
Definition: sslopt-case.h:29
Definition: io_thread.h:42
std::function< void(size_t)> on_start
Definition: io_thread.h:43
std::function< void(size_t)> on_stop
Definition: io_thread.h:44