Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
kcenon::network::integration::thread_pool_interface Class Referenceabstractexport

Interface for thread pool integration. More...

#include <thread_integration.h>

Inheritance diagram for kcenon::network::integration::thread_pool_interface:
Inheritance graph
Collaboration diagram for kcenon::network::integration::thread_pool_interface:
Collaboration graph

Public Member Functions

virtual ~thread_pool_interface ()=default
 
virtual std::future< void > submit (std::function< void()> task)=0
 Submit a task to the thread pool.
 
virtual std::future< void > submit_delayed (std::function< void()> task, std::chrono::milliseconds delay)=0
 Submit a task with delay.
 
virtual size_t worker_count () const =0
 Get the number of worker threads.
 
virtual bool is_running () const =0
 Check if the thread pool is running.
 
virtual size_t pending_tasks () const =0
 Get pending task count.
 
virtual ~thread_pool_interface ()=default
 
virtual void submit (std::function< void()> task)=0
 Submit a task to the thread pool.
 
virtual size_t worker_count () const =0
 Get the number of worker threads.
 
virtual bool is_running () const =0
 Check if the thread pool is running.
 

Detailed Description

Interface for thread pool integration.

Abstract interface for thread pool integration.

This interface allows network_system to use external thread pool implementations (e.g., from thread_system) for task execution.

This interface allows network_system to work with any thread pool implementation, including the future thread_system module.

Definition at line 83 of file core.cppm.

Constructor & Destructor Documentation

◆ ~thread_pool_interface() [1/2]

virtual kcenon::network::integration::thread_pool_interface::~thread_pool_interface ( )
virtualdefault

◆ ~thread_pool_interface() [2/2]

virtual kcenon::network::integration::thread_pool_interface::~thread_pool_interface ( )
exportvirtualdefault

Member Function Documentation

◆ is_running() [1/2]

virtual bool kcenon::network::integration::thread_pool_interface::is_running ( ) const
pure virtual

Check if the thread pool is running.

Returns
true if running, false otherwise

Implemented in kcenon::network::integration::basic_thread_pool.

◆ is_running() [2/2]

virtual bool kcenon::network::integration::thread_pool_interface::is_running ( ) const
exportpure virtual

Check if the thread pool is running.

Returns
true if running, false otherwise

Implemented in kcenon::network::integration::basic_thread_pool.

◆ pending_tasks()

virtual size_t kcenon::network::integration::thread_pool_interface::pending_tasks ( ) const
pure virtual

Get pending task count.

Returns
Number of tasks waiting to be executed

Implemented in kcenon::network::integration::basic_thread_pool.

◆ submit() [1/2]

◆ submit() [2/2]

virtual void kcenon::network::integration::thread_pool_interface::submit ( std::function< void()> task)
exportpure virtual

Submit a task to the thread pool.

Parameters
taskThe task to execute

Implemented in kcenon::network::integration::basic_thread_pool.

◆ submit_delayed()

virtual std::future< void > kcenon::network::integration::thread_pool_interface::submit_delayed ( std::function< void()> task,
std::chrono::milliseconds delay )
pure virtual

Submit a task with delay.

Parameters
taskThe task to execute
delayDelay before execution
Returns
Future for the task result

Implemented in kcenon::network::integration::basic_thread_pool.

◆ worker_count() [1/2]

virtual size_t kcenon::network::integration::thread_pool_interface::worker_count ( ) const
pure virtual

Get the number of worker threads.

Returns
Number of worker threads

Implemented in kcenon::network::integration::basic_thread_pool.

◆ worker_count() [2/2]

virtual size_t kcenon::network::integration::thread_pool_interface::worker_count ( ) const
exportpure virtual

Get the number of worker threads.

Returns
Number of worker threads

Implemented in kcenon::network::integration::basic_thread_pool.


The documentation for this class was generated from the following files: