|
Core Library
1.7.0.0
Library containing core utilities and tools for threading, networking, logging, INI and CSV file management etc.
|
Class defining an EventThread that ticks at a given rate and executes a registered callback. More...
#include <EventThread.h>
Public Member Functions | |
| EventThread (event_callback_t const &eventCallback, unsigned int eventPeriodMillisecs, bool delayedStart=false) | |
| EventThread constructor. More... | |
| ~EventThread () override | |
| EventThread destructor. | |
| EventThread (const EventThread &)=delete | |
| Copy constructor deleted. | |
| EventThread & | operator= (const EventThread &)=delete |
| Copy assignment operator deleted. | |
| EventThread (EventThread &&)=delete | |
| Move constructor deleted. | |
| EventThread & | operator= (EventThread &&)=delete |
| Move assignment operator deleted. | |
| void | EventPeriod (unsigned int eventPeriodMillisecs) |
| Set even thread's tick period. More... | |
| unsigned int | EventPeriod () const |
| Set even threads tick period. More... | |
| void | ForceTick () |
| Forces the thread to tick. | |
Public Member Functions inherited from core_lib::threads::ThreadBase | |
| ThreadBase (const ThreadBase &)=delete | |
| Copy constructor deleted. | |
| ThreadBase & | operator= (const ThreadBase &)=delete |
| Copy assignment operator deleted. | |
| ThreadBase (ThreadBase &&)=default | |
| Move constructor deleted. | |
| ThreadBase & | operator= (ThreadBase &&)=default |
| Move assignment operator deleted. | |
| virtual | ~ThreadBase ()=default |
| Destructor. | |
| bool | IsStarted () const |
| Is thread started. More... | |
| bool | Start () |
| Start the thread. More... | |
| bool | Stop () |
| Safely stop the thread. More... | |
| std::thread::id | ThreadID () const |
| Get this thread's thread ID. More... | |
| std::thread::native_handle_type | NativeHandle () const |
| Get the underlying std::thread's native handle. More... | |
Private Types | |
| using | event_callback_t = std::function< void()> |
| Typedef defining message handler functor. | |
Private Member Functions | |
| void | ThreadIteration () NO_EXCEPT_ override |
| Thread iteration function. | |
| void | ProcessTerminationConditions () NO_EXCEPT_ override |
| Function to process termination conditions. | |
Private Attributes | |
| std::mutex | m_eventTickMutex |
| Update event. | |
| core_lib::threads::SyncEvent | m_updateEvent {} |
| Update event. | |
| event_callback_t | m_eventCallback {} |
| Callback fires on event. | |
| unsigned int | m_eventPeriodMillisecs {0} |
| Event tick period. | |
Additional Inherited Members | |
Protected Member Functions inherited from core_lib::threads::ThreadBase | |
| ThreadBase ()=default | |
| Default constructor. | |
| void | SetTerminating (bool terminating=true) |
| Set terminating flag. More... | |
| bool | IsTerminating () const |
| Is thread terminating. More... | |
| void | SleepForTime (unsigned int milliSecs) const |
| Make this thread sleep for a period of time. More... | |
Class defining an EventThread that ticks at a given rate and executes a registered callback.
| core_lib::threads::EventThread::EventThread | ( | event_callback_t const & | eventCallback, |
| unsigned int | eventPeriodMillisecs, | ||
| bool | delayedStart = false |
||
| ) |
EventThread constructor.
| [in] | eventCallback | - Function object to be called when event ticks. |
| [in] | eventPeriodMillisecs | - Period between signalling of the event. |
| [in] | delayedStart | - (Optional) Delay startiong of the thread. |
If delayedStart == true then user must call EventThread::Start() themselves.
| void core_lib::threads::EventThread::EventPeriod | ( | unsigned int | eventPeriodMillisecs | ) |
Set even thread's tick period.
| [in] | eventPeriodMillisecs | - Period between signalling of the event. |
| unsigned int core_lib::threads::EventThread::EventPeriod | ( | ) | const |
Set even threads tick period.