Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
kcenon::network::interfaces::i_network_component Interface Referenceabstract

Base interface for all network components. More...

#include <i_network_component.h>

Inheritance diagram for kcenon::network::interfaces::i_network_component:
Inheritance graph
Collaboration diagram for kcenon::network::interfaces::i_network_component:
Collaboration graph

Public Member Functions

virtual ~i_network_component ()=default
 Virtual destructor for proper cleanup of derived classes.
 
 i_network_component (const i_network_component &)=delete
 
i_network_componentoperator= (const i_network_component &)=delete
 
 i_network_component (i_network_component &&)=delete
 
i_network_componentoperator= (i_network_component &&)=delete
 

Protected Member Functions

 i_network_component ()=default
 Default constructor (only for derived classes)
 
virtual auto is_running () const -> bool=0
 Checks if the component is currently running.
 
virtual auto wait_for_stop () -> void=0
 Blocks until the component has stopped.
 

Detailed Description

Base interface for all network components.

This interface defines the common contract for both client and server network components, providing basic lifecycle query methods.

Thread Safety

All methods must be implemented as thread-safe.

Design Note

This interface is part of the composition-based architecture that replaces the CRTP base classes. It enables:

  • Easy mocking for unit tests
  • Dependency injection
  • Runtime polymorphism where needed
See also
i_client
i_server

Definition at line 44 of file i_network_component.h.

Constructor & Destructor Documentation

◆ ~i_network_component()

virtual kcenon::network::interfaces::i_network_component::~i_network_component ( )
virtualdefault

Virtual destructor for proper cleanup of derived classes.

◆ i_network_component() [1/3]

kcenon::network::interfaces::i_network_component::i_network_component ( const i_network_component & )
delete

◆ i_network_component() [2/3]

kcenon::network::interfaces::i_network_component::i_network_component ( i_network_component && )
delete

◆ i_network_component() [3/3]

kcenon::network::interfaces::i_network_component::i_network_component ( )
protecteddefault

Default constructor (only for derived classes)

Member Function Documentation

◆ is_running()

◆ operator=() [1/2]

i_network_component & kcenon::network::interfaces::i_network_component::operator= ( const i_network_component & )
delete

◆ operator=() [2/2]

i_network_component & kcenon::network::interfaces::i_network_component::operator= ( i_network_component && )
delete

◆ wait_for_stop()


The documentation for this interface was generated from the following file: