unilink  0.4.3
A simple C++ library for unified async communication
unilink::wrapper::ServerInterface Class Referenceabstract

Interface for 1:N server communication (e.g., TcpServer) More...

#include <iserver.hpp>

Inheritance diagram for unilink::wrapper::ServerInterface:
unilink::wrapper::TcpServer

Public Types

using MessageHandler = std::function< void(const MessageContext &)>
 
using ConnectionHandler = std::function< void(const ConnectionContext &)>
 
using ErrorHandler = std::function< void(const ErrorContext &)>
 

Public Member Functions

virtual ~ServerInterface ()=default
 
virtual std::future< bool > start ()=0
 
virtual void stop ()=0
 
virtual bool is_listening () const =0
 
virtual bool broadcast (std::string_view data)=0
 
virtual bool send_to (size_t client_id, std::string_view data)=0
 
virtual ServerInterfaceon_client_connect (ConnectionHandler handler)=0
 
virtual ServerInterfaceon_client_disconnect (ConnectionHandler handler)=0
 
virtual ServerInterfaceon_data (MessageHandler handler)=0
 
virtual ServerInterfaceon_error (ErrorHandler handler)=0
 
virtual size_t get_client_count () const =0
 
virtual std::vector< size_t > get_connected_clients () const =0
 

Detailed Description

Interface for 1:N server communication (e.g., TcpServer)

Definition at line 34 of file iserver.hpp.

Member Typedef Documentation

◆ ConnectionHandler

Definition at line 37 of file iserver.hpp.

◆ ErrorHandler

Definition at line 38 of file iserver.hpp.

◆ MessageHandler

Definition at line 36 of file iserver.hpp.

Constructor & Destructor Documentation

◆ ~ServerInterface()

virtual unilink::wrapper::ServerInterface::~ServerInterface ( )
virtualdefault

Member Function Documentation

◆ broadcast()

virtual bool unilink::wrapper::ServerInterface::broadcast ( std::string_view  data)
pure virtual

Implemented in unilink::wrapper::TcpServer.

◆ get_client_count()

virtual size_t unilink::wrapper::ServerInterface::get_client_count ( ) const
pure virtual

Implemented in unilink::wrapper::TcpServer.

◆ get_connected_clients()

virtual std::vector<size_t> unilink::wrapper::ServerInterface::get_connected_clients ( ) const
pure virtual

Implemented in unilink::wrapper::TcpServer.

◆ is_listening()

virtual bool unilink::wrapper::ServerInterface::is_listening ( ) const
pure virtual

Implemented in unilink::wrapper::TcpServer.

◆ on_client_connect()

virtual ServerInterface& unilink::wrapper::ServerInterface::on_client_connect ( ConnectionHandler  handler)
pure virtual

Implemented in unilink::wrapper::TcpServer.

◆ on_client_disconnect()

virtual ServerInterface& unilink::wrapper::ServerInterface::on_client_disconnect ( ConnectionHandler  handler)
pure virtual

Implemented in unilink::wrapper::TcpServer.

◆ on_data()

virtual ServerInterface& unilink::wrapper::ServerInterface::on_data ( MessageHandler  handler)
pure virtual

Implemented in unilink::wrapper::TcpServer.

◆ on_error()

virtual ServerInterface& unilink::wrapper::ServerInterface::on_error ( ErrorHandler  handler)
pure virtual

Implemented in unilink::wrapper::TcpServer.

◆ send_to()

virtual bool unilink::wrapper::ServerInterface::send_to ( size_t  client_id,
std::string_view  data 
)
pure virtual

Implemented in unilink::wrapper::TcpServer.

◆ start()

virtual std::future<bool> unilink::wrapper::ServerInterface::start ( )
pure virtual

Implemented in unilink::wrapper::TcpServer.

◆ stop()

virtual void unilink::wrapper::ServerInterface::stop ( )
pure virtual

Implemented in unilink::wrapper::TcpServer.


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