CCF
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
threading::ThreadMessaging Class Reference

#include <thread_messaging.h>

Classes

struct  TickMsg
 

Public Member Functions

 ThreadMessaging (uint16_t num_task_queues)
 
 ~ThreadMessaging ()
 
void set_finished (bool v=true)
 
void run ()
 
bool run_one ()
 
template<typename Payload >
void add_task (uint16_t tid, std::unique_ptr< Tmsg< Payload > > msg)
 
template<typename Payload >
TaskQueue::TimerEntry add_task_after (std::unique_ptr< Tmsg< Payload > > msg, std::chrono::milliseconds ms)
 
bool cancel_timer_task (TaskQueue::TimerEntry timer_entry)
 
std::chrono::milliseconds get_current_time_offset ()
 
void tick (std::chrono::milliseconds elapsed)
 
uint16_t get_execution_thread (uint32_t i)
 
uint16_t thread_count () const
 

Static Public Member Functions

static void init (uint16_t num_task_queues)
 
static void shutdown ()
 
static ThreadMessaginginstance ()
 
static void tick_cb (std::unique_ptr< Tmsg< TickMsg > > msg)
 

Static Public Attributes

static constexpr uint16_t max_num_threads = 24
 

Constructor & Destructor Documentation

◆ ThreadMessaging()

threading::ThreadMessaging::ThreadMessaging ( uint16_t  num_task_queues)
inline

◆ ~ThreadMessaging()

threading::ThreadMessaging::~ThreadMessaging ( )
inline

Member Function Documentation

◆ add_task()

template<typename Payload >
void threading::ThreadMessaging::add_task ( uint16_t  tid,
std::unique_ptr< Tmsg< Payload > >  msg 
)
inline

◆ add_task_after()

template<typename Payload >
TaskQueue::TimerEntry threading::ThreadMessaging::add_task_after ( std::unique_ptr< Tmsg< Payload > >  msg,
std::chrono::milliseconds  ms 
)
inline

◆ cancel_timer_task()

bool threading::ThreadMessaging::cancel_timer_task ( TaskQueue::TimerEntry  timer_entry)
inline

◆ get_current_time_offset()

std::chrono::milliseconds threading::ThreadMessaging::get_current_time_offset ( )
inline

◆ get_execution_thread()

uint16_t threading::ThreadMessaging::get_execution_thread ( uint32_t  i)
inline

◆ init()

static void threading::ThreadMessaging::init ( uint16_t  num_task_queues)
inlinestatic

◆ instance()

static ThreadMessaging & threading::ThreadMessaging::instance ( )
inlinestatic

◆ run()

void threading::ThreadMessaging::run ( )
inline

◆ run_one()

bool threading::ThreadMessaging::run_one ( )
inline

◆ set_finished()

void threading::ThreadMessaging::set_finished ( bool  v = true)
inline

◆ shutdown()

static void threading::ThreadMessaging::shutdown ( )
inlinestatic

◆ thread_count()

uint16_t threading::ThreadMessaging::thread_count ( ) const
inline

◆ tick()

void threading::ThreadMessaging::tick ( std::chrono::milliseconds  elapsed)
inline

◆ tick_cb()

static void threading::ThreadMessaging::tick_cb ( std::unique_ptr< Tmsg< TickMsg > >  msg)
inlinestatic

Member Data Documentation

◆ max_num_threads

constexpr uint16_t threading::ThreadMessaging::max_num_threads = 24
staticconstexpr

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