|
Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
|
Adapter exposing thread_pool through common::interfaces::IExecutor. More...
#include <common_executor_adapter.h>


Public Member Functions | |
| thread_pool_executor_adapter (std::shared_ptr< kcenon::thread::thread_pool > pool) | |
| std::future< void > | submit (std::function< void()> task) |
| std::future< void > | submit_delayed (std::function< void()> task, std::chrono::milliseconds delay) |
| common::Result< std::future< void > > | execute (std::unique_ptr< common::interfaces::IJob > &&job) override |
| common::Result< std::future< void > > | execute_delayed (std::unique_ptr< common::interfaces::IJob > &&job, std::chrono::milliseconds delay) override |
| size_t | worker_count () const override |
| bool | is_running () const override |
| size_t | pending_tasks () const override |
| void | shutdown (bool wait_for_completion=true) override |
| std::shared_ptr< kcenon::thread::thread_pool > | get_thread_pool () const |
Private Attributes | |
| std::shared_ptr< kcenon::thread::thread_pool > | pool_ |
Adapter exposing thread_pool through common::interfaces::IExecutor.
This is the recommended way to use thread_pool with the IExecutor interface. It provides a clean separation between thread_pool's core functionality and the IExecutor interface contract.
Definition at line 282 of file common_executor_adapter.h.
|
inlineexplicit |
Definition at line 284 of file common_executor_adapter.h.
|
inlineoverride |
Definition at line 315 of file common_executor_adapter.h.
References kcenon::thread::job_execution_failed, kcenon::thread::adapters::detail::make_error(), pool_, and kcenon::thread::adapters::detail::schedule_task().

|
inlineoverride |
Definition at line 337 of file common_executor_adapter.h.
References kcenon::thread::delay, kcenon::thread::job_execution_failed, kcenon::thread::adapters::detail::make_error(), pool_, and kcenon::thread::adapters::detail::schedule_task_async().

|
inline |
Definition at line 392 of file common_executor_adapter.h.
References pool_.
|
inlineoverride |
Definition at line 371 of file common_executor_adapter.h.
References kcenon::thread::thread_pool::is_running(), and pool_.

|
inlineoverride |
Definition at line 375 of file common_executor_adapter.h.
References kcenon::thread::thread_pool::get_pending_task_count(), and pool_.

|
inlineoverride |
Definition at line 379 of file common_executor_adapter.h.
References pool_, and kcenon::thread::thread_pool::stop().

|
inline |
Definition at line 287 of file common_executor_adapter.h.
References kcenon::thread::failed, kcenon::thread::result< T >::is_ok(), pool_, kcenon::thread::adapters::detail::schedule_task(), kcenon::thread::adapters::detail::to_exception(), and kcenon::thread::adapters::detail::wrap_user_task().

|
inline |
Definition at line 301 of file common_executor_adapter.h.
References kcenon::thread::delay, pool_, kcenon::thread::adapters::detail::schedule_task_async(), and kcenon::thread::adapters::detail::wrap_user_task().

|
inlineoverride |
Definition at line 367 of file common_executor_adapter.h.
References kcenon::thread::thread_pool::get_active_worker_count(), and pool_.

|
private |
Definition at line 397 of file common_executor_adapter.h.
Referenced by execute(), execute_delayed(), get_thread_pool(), is_running(), pending_tasks(), shutdown(), submit(), submit_delayed(), and worker_count().