CUBRID Engine
latest
|
#include <thread_worker_pool_taskcap.hpp>
Classes | |
class | capped_task |
Public Member Functions | |
worker_pool_task_capper (worker_pool< Context > *worker_pool) | |
~worker_pool_task_capper ()=default | |
bool | try_task (task< Context > *task) |
void | push_task (task< Context > *task) |
cubthread::worker_pool< Context > * | get_worker_pool () const |
Private Types | |
using | context_type = Context |
using | task_type = task< Context > |
using | worker_pool_type = worker_pool< Context > |
Private Member Functions | |
void | end_task () |
void | execute (task< Context > *task) |
Private Attributes | |
cubthread::worker_pool< Context > * | m_worker_pool |
size_t | m_tasks_available |
size_t | m_max_tasks |
std::mutex | m_mutex |
std::condition_variable | m_cond_var |
Definition at line 31 of file thread_worker_pool_taskcap.hpp.
|
private |
Definition at line 34 of file thread_worker_pool_taskcap.hpp.
|
private |
Definition at line 35 of file thread_worker_pool_taskcap.hpp.
|
private |
Definition at line 36 of file thread_worker_pool_taskcap.hpp.
|
explicit |
|
default |
|
private |
Definition at line 136 of file thread_worker_pool_taskcap.hpp.
References assert, cubthread::worker_pool_task_capper< Context >::m_cond_var, cubthread::worker_pool_task_capper< Context >::m_mutex, and cubthread::worker_pool_task_capper< Context >::m_tasks_available.
Referenced by cubthread::worker_pool_task_capper< Context >::capped_task::execute().
|
private |
Definition at line 126 of file thread_worker_pool_taskcap.hpp.
References assert, cubthread::worker_pool_task_capper< Context >::m_tasks_available, and cubthread::worker_pool_task_capper< Context >::m_worker_pool.
Referenced by cubthread::worker_pool_task_capper< Context >::push_task(), and cubthread::worker_pool_task_capper< Context >::try_task().
worker_pool< Context > * cubthread::worker_pool_task_capper< Context >::get_worker_pool | ( | ) | const |
Definition at line 149 of file thread_worker_pool_taskcap.hpp.
References cubthread::worker_pool_task_capper< Context >::m_worker_pool.
void cubthread::worker_pool_task_capper< Context >::push_task | ( | task< Context > * | task | ) |
Definition at line 111 of file thread_worker_pool_taskcap.hpp.
References assert, cubthread::worker_pool_task_capper< Context >::execute(), cubthread::worker_pool_task_capper< Context >::m_cond_var, cubthread::worker_pool_task_capper< Context >::m_mutex, and cubthread::worker_pool_task_capper< Context >::m_tasks_available.
bool cubthread::worker_pool_task_capper< Context >::try_task | ( | task< Context > * | task | ) |
Definition at line 95 of file thread_worker_pool_taskcap.hpp.
References cubthread::worker_pool_task_capper< Context >::execute(), cubthread::worker_pool_task_capper< Context >::m_mutex, and cubthread::worker_pool_task_capper< Context >::m_tasks_available.
Referenced by cubload::worker_manager_try_task().
|
private |
Definition at line 58 of file thread_worker_pool_taskcap.hpp.
Referenced by cubthread::worker_pool_task_capper< Context >::end_task(), and cubthread::worker_pool_task_capper< Context >::push_task().
|
private |
Definition at line 56 of file thread_worker_pool_taskcap.hpp.
Referenced by cubthread::worker_pool_task_capper< Context >::worker_pool_task_capper().
|
private |
Definition at line 57 of file thread_worker_pool_taskcap.hpp.
Referenced by cubthread::worker_pool_task_capper< Context >::end_task(), cubthread::worker_pool_task_capper< Context >::push_task(), and cubthread::worker_pool_task_capper< Context >::try_task().
|
private |
Definition at line 55 of file thread_worker_pool_taskcap.hpp.
Referenced by cubthread::worker_pool_task_capper< Context >::end_task(), cubthread::worker_pool_task_capper< Context >::execute(), cubthread::worker_pool_task_capper< Context >::push_task(), cubthread::worker_pool_task_capper< Context >::try_task(), and cubthread::worker_pool_task_capper< Context >::worker_pool_task_capper().
|
private |
Definition at line 54 of file thread_worker_pool_taskcap.hpp.
Referenced by cubthread::worker_pool_task_capper< Context >::execute(), and cubthread::worker_pool_task_capper< Context >::get_worker_pool().