22 #include <string_view>
43 virtual std::future<bool>
start() = 0;
49 virtual bool send_to(
size_t client_id, std::string_view data) = 0;
Context for connection/disconnection events.
Context for error events.
Context for data/message related events.
Interface for 1:N server communication (e.g., TcpServer)
virtual ~ServerInterface()=default
virtual bool broadcast(std::string_view data)=0
virtual size_t get_client_count() const =0
virtual bool is_listening() const =0
virtual ServerInterface & on_data(MessageHandler handler)=0
virtual ServerInterface & on_error(ErrorHandler handler)=0
virtual bool send_to(size_t client_id, std::string_view data)=0
virtual ServerInterface & on_client_connect(ConnectionHandler handler)=0
std::function< void(const ErrorContext &)> ErrorHandler
std::function< void(const ConnectionContext &)> ConnectionHandler
std::function< void(const MessageContext &)> MessageHandler
virtual std::vector< size_t > get_connected_clients() const =0
virtual std::future< bool > start()=0
virtual ServerInterface & on_client_disconnect(ConnectionHandler handler)=0