A class that implements thread for MT. More...
#include <mtthread.h>
Public Member Functions | |
MtThread (DataParser &fetcher, SerialCommunicator &communicator) | |
Default constructor. More... | |
void | setDoGotoConfig (bool doit) |
Set whether we should send gotoconfig here. More... | |
virtual | ~MtThread (void) |
Destructor. More... | |
![]() | |
DataPoller (DataParser &parser) | |
Create a DataPoller with a parser. More... | |
virtual | ~DataPoller () |
Destroy the data poller. More... | |
![]() | |
XsThreadId | getThreadId (void) const |
bool | isAlive (void) volatile const noexcept |
bool | isRunning (void) volatile const noexcept |
Returns whether the thread is currently running. More... | |
bool | isTerminating () volatile const noexcept |
Returns whether the thread should (have) terminate(d) More... | |
bool | setPriority (XsThreadPriority pri) |
Sets the priority of the thread. More... | |
virtual void | signalStopThread (void) |
Tells the thread to stop but does not wait for it to end. More... | |
StandardThread () | |
bool | startThread (const char *name=NULL) |
Starts the thread. More... | |
void | stopThread (void) noexcept |
Tells the thread to stop and waits for it to end. More... | |
virtual | ~StandardThread () |
Protected Member Functions | |
virtual int32_t | innerFunction (void) |
The inner thread function. More... | |
![]() | |
void | cleanup () |
Clean up the DataPoller. More... | |
virtual int32_t | conjureUpWaitTime (const XsByteArray &bytes) const |
Conjure up the time to wait based on properties of the received data (like the length) More... | |
void | initFunction () override |
Init function for the thread, sets the priority higher. More... | |
![]() | |
virtual void | exitFunction (void) |
Virtual exit function. More... | |
XsThread | threadHandle () const |
Return the thread handle. More... | |
Private Attributes | |
SerialCommunicator * | m_communicator |
bool | m_doGotoConfig |
XsByteArray * | m_gotoConfigPlus |
Additional Inherited Members | |
![]() | |
pthread_attr_t | m_attr |
Duplicates m_stop functionality for external dependent classes such as Semaphore. More... | |
bool | m_running |
Indicates that the thread is running. More... | |
volatile std::atomic_bool | m_stop |
Indicates that the thread should stop. Derived classes should check isTerminating() instead of directly polling this value when checking if the thread should stop. However, there are some cases (tests, SignallingThread) where direct access from within the class is desired, which is why the vlaue is protected instead of private. More... | |
volatile std::atomic_bool | m_yieldOnZeroSleep |
When true, a sleep value of 0 returned by innerFunction will trigger a thread yield operation. When false, the next cycle is started immediately. More... | |
A class that implements thread for MT.
Definition at line 74 of file mtthread.h.
|
explicit |
Default constructor.
Definition at line 77 of file mtthread.cpp.
|
virtual |
Destructor.
Definition at line 91 of file mtthread.cpp.
|
protectedvirtual |
The inner thread function.
This function handles port communication, delegating processing and calibration to its DataParser.
Reimplemented from DataPoller.
Definition at line 115 of file mtthread.cpp.
void MtThread::setDoGotoConfig | ( | bool | doit | ) |
Set whether we should send gotoconfig here.
Definition at line 105 of file mtthread.cpp.
|
private |
Definition at line 87 of file mtthread.h.
|
private |
Definition at line 86 of file mtthread.h.
|
private |
Definition at line 88 of file mtthread.h.