|
sdi_toolBox
|
#include <inode.h>

Abstract interface representing a subscriber node in the event bus system.
INode is the base interface that all subscriber nodes must implement to participate in the event bus. It exposes a single private pure virtual method, append(), which is called exclusively by the Bus when a message is dispatched to this node.
The Bus is declared as a friend class to allow it to invoke append() without exposing it to the rest of the codebase, enforcing a strict encapsulation of the message delivery mechanism.
Public Member Functions | |
Construction & Destruction | |
| INode ()=default | |
| Default constructor. | |
| virtual | ~INode ()=default |
| Default destructor. | |
| INode (const INode &obj)=delete | |
| Copy constructor - deleted. | |
| INode (INode &&obj) noexcept=delete | |
| Move constructor - deleted. | |
| INode & | operator= (const INode &obj)=delete |
| Copy assignment operator - deleted. | |
| INode & | operator= (INode &&obj) noexcept=delete |
| Move assignment operator - deleted. | |
Private Member Functions | |
| virtual void | append (const std::shared_ptr< Message > &message)=0 |
| Insert a message into the node's internal message queue. | |
Friends | |
| class | Bus |
| Allow the Bus class to access private members. | |
|
default |
Default constructor.
|
virtualdefault |
Default destructor.
Copy assignment operator - deleted.
INode is non-copyable.
Move assignment operator - deleted.
INode is non-movable.
|
privatepure virtual |
Insert a message into the node's internal message queue.
This method is called exclusively by the Bus when a message matching this node's subscriptions (or a broadcast message) is dispatched. It must be implemented by all concrete subclasses to define how incoming messages are stored or processed.
| message | Shared pointer to the message being delivered. |
Implemented in Node.