Skip to content

Class cubthread::worker_pool

ClassList > cubthread > worker_pool

  • #include <thread_worker_pool.hpp>

Inherited by the following classes: cubthread::worker_pool_impl

Classes

Type Name
class core

Public Types

Type Name
typedef entry context_type
typedef task< context_type > task_type

Public Functions

Type Name
virtual void execute (task_type * work_arg) = 0
virtual void execute_on_core (task_type * work_arg, std::size_t core_hash, bool is_temp=false) = 0
virtual std::size_t get_core_count (void) const = 0
entry_manager & get_entry_manager (void) const
const wait_seconds & get_idle_timeout () const
const std::string & get_name (void) const
virtual void get_stats (cubperf::stat_value * stats_out) const = 0
virtual std::size_t get_worker_count (void) const = 0
virtual void initialize (std::size_t worker_count, std::size_t core_count) = 0
virtual bool is_running (void) const = 0
virtual void stop_execution (void) = 0
virtual void warmup (void) = 0
virtual ~worker_pool () = default

Protected Attributes

Type Name
entry_manager & m_entry_manager
wait_seconds m_idle_timeout
std::string m_name
bool m_pool_threads

Protected Functions

Type Name
worker_pool (const char * name, entry_manager & entry_mgr, bool pool_threads, wait_seconds idle_timeout)

Public Types Documentation

typedef context_type

using cubthread::worker_pool::context_type =  entry;

typedef task_type

using cubthread::worker_pool::task_type =  task<context_type>;

Public Functions Documentation

function execute

virtual void cubthread::worker_pool::execute (
    task_type * work_arg
) = 0

function execute_on_core

virtual void cubthread::worker_pool::execute_on_core (
    task_type * work_arg,
    std::size_t core_hash,
    bool is_temp=false
) = 0

function get_core_count

virtual std::size_t cubthread::worker_pool::get_core_count (
    void
) const = 0

function get_entry_manager

inline entry_manager & cubthread::worker_pool::get_entry_manager (
    void
) const

function get_idle_timeout

inline const  wait_seconds & cubthread::worker_pool::get_idle_timeout () const

function get_name

inline const std::string & cubthread::worker_pool::get_name (
    void
) const

function get_stats

virtual void cubthread::worker_pool::get_stats (
    cubperf::stat_value * stats_out
) const = 0

function get_worker_count

virtual std::size_t cubthread::worker_pool::get_worker_count (
    void
) const = 0

function initialize

virtual void cubthread::worker_pool::initialize (
    std::size_t worker_count,
    std::size_t core_count
) = 0

function is_running

virtual bool cubthread::worker_pool::is_running (
    void
) const = 0

function stop_execution

virtual void cubthread::worker_pool::stop_execution (
    void
) = 0

function warmup

virtual void cubthread::worker_pool::warmup (
    void
) = 0

function ~worker_pool

virtual cubthread::worker_pool::~worker_pool () = default

Protected Attributes Documentation

variable m_entry_manager

entry_manager& cubthread::worker_pool::m_entry_manager;

variable m_idle_timeout

wait_seconds cubthread::worker_pool::m_idle_timeout;

variable m_name

std::string cubthread::worker_pool::m_name;

variable m_pool_threads

bool cubthread::worker_pool::m_pool_threads;

Protected Functions Documentation

function worker_pool

inline cubthread::worker_pool::worker_pool (
    const  char * name,
    entry_manager & entry_mgr,
    bool pool_threads,
    wait_seconds idle_timeout
) 


The documentation for this class was generated from the following file cubrid/src/thread/thread_worker_pool.hpp