|
unilink
0.4.3
A simple C++ library for unified async communication
|
Modernized TCP Server Wrapper. More...
#include <tcp_server.hpp>
Classes | |
| struct | Impl |
Public Member Functions | |
| TcpServer (uint16_t port) | |
| TcpServer (uint16_t port, std::shared_ptr< boost::asio::io_context > external_ioc) | |
| TcpServer (std::shared_ptr< interface::Channel > channel) | |
| ~TcpServer () override | |
| TcpServer (TcpServer &&) noexcept | |
| TcpServer & | operator= (TcpServer &&) noexcept |
| TcpServer (const TcpServer &)=delete | |
| TcpServer & | operator= (const TcpServer &)=delete |
| std::future< bool > | start () override |
| void | stop () override |
| bool | is_listening () const override |
| bool | broadcast (std::string_view data) override |
| bool | send_to (size_t client_id, std::string_view data) override |
| ServerInterface & | on_client_connect (ConnectionHandler handler) override |
| ServerInterface & | on_client_disconnect (ConnectionHandler handler) override |
| ServerInterface & | on_data (MessageHandler handler) override |
| ServerInterface & | on_error (ErrorHandler handler) override |
| size_t | get_client_count () const override |
| std::vector< size_t > | get_connected_clients () const override |
| TcpServer & | auto_manage (bool manage=true) |
| TcpServer & | enable_port_retry (bool enable=true, int max_retries=3, int retry_interval_ms=1000) |
| TcpServer & | idle_timeout (int timeout_ms) |
| TcpServer & | set_client_limit (size_t max_clients) |
| TcpServer & | set_unlimited_clients () |
| TcpServer & | notify_send_failure (bool enable=true) |
| TcpServer & | set_manage_external_context (bool manage) |
Public Member Functions inherited from unilink::wrapper::ServerInterface | |
| virtual | ~ServerInterface ()=default |
Additional Inherited Members | |
Public Types inherited from unilink::wrapper::ServerInterface | |
| using | MessageHandler = std::function< void(const MessageContext &)> |
| using | ConnectionHandler = std::function< void(const ConnectionContext &)> |
| using | ErrorHandler = std::function< void(const ErrorContext &)> |
Modernized TCP Server Wrapper.
Definition at line 46 of file tcp_server.hpp.
|
explicit |
Definition at line 251 of file tcp_server.cc.
| unilink::wrapper::TcpServer::TcpServer | ( | uint16_t | port, |
| std::shared_ptr< boost::asio::io_context > | external_ioc | ||
| ) |
Definition at line 252 of file tcp_server.cc.
|
explicit |
Definition at line 254 of file tcp_server.cc.
|
overridedefault |
|
defaultnoexcept |
|
delete |
| TcpServer & unilink::wrapper::TcpServer::auto_manage | ( | bool | manage = true | ) |
Definition at line 309 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 264 of file tcp_server.cc.
| TcpServer & unilink::wrapper::TcpServer::enable_port_retry | ( | bool | enable = true, |
| int | max_retries = 3, |
||
| int | retry_interval_ms = 1000 |
||
| ) |
Definition at line 315 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 297 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 303 of file tcp_server.cc.
| TcpServer & unilink::wrapper::TcpServer::idle_timeout | ( | int | timeout_ms | ) |
Definition at line 322 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 262 of file tcp_server.cc.
| TcpServer & unilink::wrapper::TcpServer::notify_send_failure | ( | bool | enable = true | ) |
Definition at line 348 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 280 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 284 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 288 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 292 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 272 of file tcp_server.cc.
| TcpServer & unilink::wrapper::TcpServer::set_client_limit | ( | size_t | max_clients | ) |
Definition at line 329 of file tcp_server.cc.
| TcpServer & unilink::wrapper::TcpServer::set_manage_external_context | ( | bool | manage | ) |
Definition at line 352 of file tcp_server.cc.
| TcpServer & unilink::wrapper::TcpServer::set_unlimited_clients | ( | ) |
Definition at line 339 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 260 of file tcp_server.cc.
|
overridevirtual |
Implements unilink::wrapper::ServerInterface.
Definition at line 261 of file tcp_server.cc.