XII Release 0.1.0
Loading...
Searching...
No Matches
xiiMessageLoop_NoImpl Class Reference

Copyright (c) Theophilus Eriata. All Rights Reserved. More...

#include <MessageLoop_NoImpl.h>

Inheritance diagram for xiiMessageLoop_NoImpl:
[legend]

Public Member Functions

 xiiMessageLoop_NoImpl ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
Public Member Functions inherited from xiiMessageLoop
void AddChannel (xiiIpcChannel *pChannel)
 Needs to be called by newly created channels' constructors.
void RemoveChannel (xiiIpcChannel *pChannel)

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
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

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

Detailed Description

Copyright (c) Theophilus Eriata. All Rights Reserved.

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:
  • /home/runner/work/XII/XII/Source/Engine/Foundation/Platform/Implementation/NoImpl/MessageLoop_NoImpl.h
  • /home/runner/work/XII/XII/Source/Engine/Foundation/Platform/Implementation/NoImpl/MessageLoop_NoImpl.cpp