XII Release 0.1.0
Loading...
Searching...
No Matches
xiiMessageLoop_NoImpl Class Reference
Inheritance diagram for xiiMessageLoop_NoImpl:
[legend]

Protected Member Functions

virtual void WakeUp () override
 Wake up the message loop when new work comes in.
 
virtual bool WaitForMessages (xiiInt32 iTimeout, xiiIpcChannel *pFilter) override
 Waits until a new message has been processed (sent, received).
 
- Protected Member Functions inherited from xiiMessageLoop
 XII_MAKE_SUBSYSTEM_STARTUP_FRIEND (Foundation, MessageLoop)
 
void StartUpdateThread ()
 
void StopUpdateThread ()
 
void RunLoop ()
 
bool ProcessTasks ()
 
void Quit ()
 

Additional Inherited Members

- Public Member Functions inherited from xiiMessageLoop
void AddChannel (xiiIpcChannel *pChannel)
 Needs to be called by newly created channels' constructors.
 
void RemoveChannel (xiiIpcChannel *pChannel)
 
- Protected Attributes inherited from xiiMessageLoop
xiiThreadID m_ThreadId = 0
 
xiiMutex m_Mutex
 
bool m_bShouldQuit = false
 
bool m_bCallTickFunction = false
 
class xiiLoopThread * m_pUpdateThread = nullptr
 
xiiMutex m_TasksMutex
 
xiiDynamicArray< xiiIpcChannel * > m_ConnectQueue
 
xiiDynamicArray< xiiIpcChannel * > m_DisconnectQueue
 
xiiDynamicArray< xiiIpcChannel * > m_SendQueue
 
xiiDynamicArray< xiiIpcChannel * > m_ConnectQueueTask
 
xiiDynamicArray< xiiIpcChannel * > m_DisconnectQueueTask
 
xiiDynamicArray< xiiIpcChannel * > m_SendQueueTask
 
xiiDynamicArray< xiiIpcChannel * > m_AllAddedChannels
 

Member Function Documentation

◆ WaitForMessages()

bool xiiMessageLoop_NoImpl::WaitForMessages ( xiiInt32 iTimeout,
xiiIpcChannel * pFilter )
overrideprotectedvirtual

Waits until a new message has been processed (sent, received).

Parameters
timeoutIf negative, wait indefinitely.
pFilterIf not null, wait for a message for the specific channel.
Returns
Returns whether a message was received or the timeout was reached.

Implements xiiMessageLoop.

◆ WakeUp()

void xiiMessageLoop_NoImpl::WakeUp ( )
overrideprotectedvirtual

Wake up the message loop when new work comes in.

Implements xiiMessageLoop.


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