|
unilink
0.4.3
A simple C++ library for unified async communication
|
Public Member Functions | |
| Impl (const config::TcpServerConfig &cfg) | |
| Impl (const config::TcpServerConfig &cfg, std::unique_ptr< interface::TcpAcceptorInterface > acceptor, net::io_context &ioc) | |
| ~Impl () | |
| void | notify_state () |
| void | attempt_port_binding (std::shared_ptr< TcpServer > self, int retry_count) |
| void | do_accept (std::shared_ptr< TcpServer > self) |
| void | perform_cleanup () |
| void | stop (std::shared_ptr< TcpServer > self) |
Public Attributes | |
| std::atomic< bool > | stopping_ {false} |
| std::atomic< size_t > | next_client_id_ {0} |
| std::unique_ptr< net::io_context > | owned_ioc_ |
| bool | owns_ioc_ |
| bool | uses_global_ioc_ |
| net::io_context & | ioc_ |
| std::thread | ioc_thread_ |
| std::unique_ptr< interface::TcpAcceptorInterface > | acceptor_ |
| config::TcpServerConfig | cfg_ |
| concurrency::ThreadSafeLinkState | state_ {base::LinkState::Idle} |
| OnBytes | on_bytes_ |
| OnState | on_state_ |
| OnBackpressure | on_bp_ |
| MultiClientConnectHandler | on_multi_connect_ |
| MultiClientDataHandler | on_multi_data_ |
| MultiClientDisconnectHandler | on_multi_disconnect_ |
| std::mutex | sessions_mutex_ |
| std::unordered_map< size_t, std::shared_ptr< TcpServerSession > > | sessions_ |
| size_t | max_clients_ |
| bool | client_limit_enabled_ |
| bool | paused_accept_ = false |
| std::shared_ptr< TcpServerSession > | current_session_ |
Definition at line 40 of file tcp_server.cc.
|
inlineexplicit |
Definition at line 70 of file tcp_server.cc.
|
inline |
Definition at line 84 of file tcp_server.cc.
|
inline |
Definition at line 98 of file tcp_server.cc.
|
inline |
Definition at line 131 of file tcp_server.cc.
|
inline |
Definition at line 190 of file tcp_server.cc.
|
inline |
Definition at line 116 of file tcp_server.cc.
|
inline |
Definition at line 316 of file tcp_server.cc.
|
inline |
Definition at line 346 of file tcp_server.cc.
| std::unique_ptr<interface::TcpAcceptorInterface> unilink::transport::TcpServer::Impl::acceptor_ |
Definition at line 50 of file tcp_server.cc.
| config::TcpServerConfig unilink::transport::TcpServer::Impl::cfg_ |
Definition at line 51 of file tcp_server.cc.
| bool unilink::transport::TcpServer::Impl::client_limit_enabled_ |
Definition at line 65 of file tcp_server.cc.
| std::shared_ptr<TcpServerSession> unilink::transport::TcpServer::Impl::current_session_ |
Definition at line 68 of file tcp_server.cc.
| net::io_context& unilink::transport::TcpServer::Impl::ioc_ |
Definition at line 47 of file tcp_server.cc.
| std::thread unilink::transport::TcpServer::Impl::ioc_thread_ |
Definition at line 48 of file tcp_server.cc.
| size_t unilink::transport::TcpServer::Impl::max_clients_ |
Definition at line 64 of file tcp_server.cc.
| std::atomic<size_t> unilink::transport::TcpServer::Impl::next_client_id_ {0} |
Definition at line 42 of file tcp_server.cc.
| OnBackpressure unilink::transport::TcpServer::Impl::on_bp_ |
Definition at line 56 of file tcp_server.cc.
| OnBytes unilink::transport::TcpServer::Impl::on_bytes_ |
Definition at line 54 of file tcp_server.cc.
| MultiClientConnectHandler unilink::transport::TcpServer::Impl::on_multi_connect_ |
Definition at line 57 of file tcp_server.cc.
| MultiClientDataHandler unilink::transport::TcpServer::Impl::on_multi_data_ |
Definition at line 58 of file tcp_server.cc.
| MultiClientDisconnectHandler unilink::transport::TcpServer::Impl::on_multi_disconnect_ |
Definition at line 59 of file tcp_server.cc.
| OnState unilink::transport::TcpServer::Impl::on_state_ |
Definition at line 55 of file tcp_server.cc.
| std::unique_ptr<net::io_context> unilink::transport::TcpServer::Impl::owned_ioc_ |
Definition at line 44 of file tcp_server.cc.
| bool unilink::transport::TcpServer::Impl::owns_ioc_ |
Definition at line 45 of file tcp_server.cc.
| bool unilink::transport::TcpServer::Impl::paused_accept_ = false |
Definition at line 66 of file tcp_server.cc.
| std::unordered_map<size_t, std::shared_ptr<TcpServerSession> > unilink::transport::TcpServer::Impl::sessions_ |
Definition at line 62 of file tcp_server.cc.
|
mutable |
Definition at line 61 of file tcp_server.cc.
| concurrency::ThreadSafeLinkState unilink::transport::TcpServer::Impl::state_ {base::LinkState::Idle} |
Definition at line 53 of file tcp_server.cc.
| std::atomic<bool> unilink::transport::TcpServer::Impl::stopping_ {false} |
Definition at line 41 of file tcp_server.cc.
| bool unilink::transport::TcpServer::Impl::uses_global_ioc_ |
Definition at line 46 of file tcp_server.cc.