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

Base interface for server-side network components. More...

#include <i_server.h>

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

Public Types

using connection_callback_t = std::function<void(std::shared_ptr<i_session>)>
 Callback type for new connections.
 
using disconnection_callback_t = std::function<void(std::string_view)>
 Callback type for disconnections (session_id)
 
using receive_callback_t = std::function<void(std::string_view, const std::vector<uint8_t>&)>
 Callback type for received data (session_id, data)
 
using error_callback_t = std::function<void(std::string_view, std::error_code)>
 Callback type for errors (session_id, error)
 

Public Member Functions

virtual auto start (uint16_t port) -> VoidResult=0
 Starts the server and begins listening for connections.
 
virtual auto stop () -> VoidResult=0
 Stops the server and closes all connections.
 
virtual auto connection_count () const -> size_t=0
 Gets the number of active connections.
 
virtual auto set_connection_callback (connection_callback_t callback) -> void=0
 Sets the callback for new connections.
 
virtual auto set_disconnection_callback (disconnection_callback_t callback) -> void=0
 Sets the callback for disconnections.
 
virtual auto set_receive_callback (receive_callback_t callback) -> void=0
 Sets the callback for received data.
 
virtual auto set_error_callback (error_callback_t callback) -> void=0
 Sets the callback for errors.
 
- Public Member Functions inherited from kcenon::network::interfaces::i_network_component
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
 

Additional Inherited Members

- Protected Member Functions inherited from kcenon::network::interfaces::i_network_component
 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 server-side network components.

This interface extends i_network_component with server-specific operations such as listening for connections, managing sessions, and broadcasting data.

Callback Types

  • connection_callback_t: Called when a new client connects
  • disconnection_callback_t: Called when a client disconnects
  • receive_callback_t: Called when data is received from a client
  • error_callback_t: Called when an error occurs

Thread Safety

  • All public methods must be thread-safe
  • Callbacks may be invoked from I/O threads
See also
i_tcp_server
i_udp_server
i_websocket_server
i_quic_server

Definition at line 60 of file i_server.h.

Member Typedef Documentation

◆ connection_callback_t

using kcenon::network::interfaces::i_server::connection_callback_t = std::function<void(std::shared_ptr<i_session>)>

Callback type for new connections.

Definition at line 64 of file i_server.h.

◆ disconnection_callback_t

using kcenon::network::interfaces::i_server::disconnection_callback_t = std::function<void(std::string_view)>

Callback type for disconnections (session_id)

Definition at line 66 of file i_server.h.

◆ error_callback_t

using kcenon::network::interfaces::i_server::error_callback_t = std::function<void(std::string_view, std::error_code)>

Callback type for errors (session_id, error)

Definition at line 70 of file i_server.h.

◆ receive_callback_t

using kcenon::network::interfaces::i_server::receive_callback_t = std::function<void(std::string_view, const std::vector<uint8_t>&)>

Callback type for received data (session_id, data)

Definition at line 68 of file i_server.h.

Member Function Documentation

◆ connection_count()

virtual auto kcenon::network::interfaces::i_server::connection_count ( ) const -> size_t
nodiscardpure virtual

Gets the number of active connections.

Returns
The count of currently connected clients.

◆ set_connection_callback()

virtual auto kcenon::network::interfaces::i_server::set_connection_callback ( connection_callback_t callback) -> void
pure virtual

Sets the callback for new connections.

Parameters
callbackThe callback function.

◆ set_disconnection_callback()

virtual auto kcenon::network::interfaces::i_server::set_disconnection_callback ( disconnection_callback_t callback) -> void
pure virtual

Sets the callback for disconnections.

Parameters
callbackThe callback function.

◆ set_error_callback()

virtual auto kcenon::network::interfaces::i_server::set_error_callback ( error_callback_t callback) -> void
pure virtual

Sets the callback for errors.

Parameters
callbackThe callback function.

◆ set_receive_callback()

virtual auto kcenon::network::interfaces::i_server::set_receive_callback ( receive_callback_t callback) -> void
pure virtual

Sets the callback for received data.

Parameters
callbackThe callback function.

◆ start()

virtual auto kcenon::network::interfaces::i_server::start ( uint16_t port) -> VoidResult
nodiscardpure virtual

Starts the server and begins listening for connections.

Parameters
portThe port number to listen on.
Returns
VoidResult indicating success or failure.

Error Conditions

  • Returns error if already running
  • Returns error if port binding fails

Thread Safety

Thread-safe. Only one start operation can succeed at a time.

◆ stop()

virtual auto kcenon::network::interfaces::i_server::stop ( ) -> VoidResult
nodiscardpure virtual

Stops the server and closes all connections.

Returns
VoidResult indicating success or failure.

Behavior

  • Stops accepting new connections
  • Closes all active sessions
  • Triggers disconnection callbacks for each session

Thread Safety

Thread-safe. Pending operations are cancelled.


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