![]() |
MySQL 8.0.43
Source Code Documentation
|
base class of all http request handler threads More...
#include <http_server_plugin.h>
Public Types | |
| using | native_handle_type = EventBaseSocket |
Public Member Functions | |
| HttpRequestThread () | |
| HttpRequestThread (HttpRequestThread &&object) | |
| native_handle_type | get_socket_fd () |
| void | accept_socket () |
| void | set_request_router (HttpRequestRouter &router) |
| void | wait_and_dispatch () |
| void | break_dispatching () |
| void | wait_until_ready () |
Protected Member Functions | |
| bool | is_initalized () const |
| void | initialization_finished () |
Static Protected Member Functions | |
| static void | on_event_loop_ready (native_handle_type, short, void *) |
Protected Attributes | |
| EventBase | event_base_ |
| EventHttp | event_http_ {&event_base_} |
| native_handle_type | accept_fd_ {kEventBaseInvalidSocket} |
| WaitableMonitor< bool > | initialized_ {false} |
base class of all http request handler threads
As all threads can accept in parallel this may lead to a thundering herd problem and quite likely it is better to let only one thread accept() and push the socket handling into async-deque and let all workers steal from the queue
|
inline |
|
inline |
| void HttpRequestThread::accept_socket | ( | ) |
| void HttpRequestThread::break_dispatching | ( | ) |
|
inline |
|
protected |
|
protected |
|
staticprotected |
| void HttpRequestThread::set_request_router | ( | HttpRequestRouter & | router | ) |
| void HttpRequestThread::wait_and_dispatch | ( | ) |
| void HttpRequestThread::wait_until_ready | ( | ) |
|
protected |
|
protected |
|
protected |
|
protected |