INode Class Referenceabstract

`#include <inode.h>`

Inheritance diagram for INode:
[legend]

## Detailed Description

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.

Note
  INode is non-copyable and non-movable.
  Direct instantiation is not possible - this class must be subclassed. The concrete implementation is provided by Node.

See also
  Bus
  Node
  Message

Definition at line 41 of file inode.h.

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

## Constructor & Destructor Documentation

## INode() [1/3]

INode | ( |  | ) |

default

Default constructor.

## ~INode()

virtual ~INode | ( |  | ) |

virtualdefault

Default destructor.

## INode() [2/3]

INode | ( | const INode & | obj | ) |

delete

Copy constructor - deleted.

INode is non-copyable.

## INode() [3/3]

INode | ( | INode && | obj | ) |

deletenoexcept

Move constructor - deleted.

INode is non-movable.

## Member Function Documentation

## operator=() [1/2]

INode & operator= | ( | const INode & | obj | ) |

delete

Copy assignment operator - deleted.

INode is non-copyable.

## operator=() [2/2]

INode & operator= | ( | INode && | obj | ) |

deletenoexcept

Move assignment operator - deleted.

INode is non-movable.

## append()

virtual void append | ( | const std::shared_ptr< Message > & | message | ) |

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.

Parameters

  message | Shared pointer to the message being delivered.

Note
  This method is intentionally private and only accessible to Bus via the friend declaration, preventing external code from injecting messages directly into a node.

Implemented in Node.

## Friends And Related Symbol Documentation

## Bus

friend class Bus

friend

Allow the Bus class to access private members.

Definition at line 43 of file inode.h.