From ab898268c8bc493ca9862b2d64f2e1e7d20e5a4c Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期三, 02 六月 2021 13:39:00 +0800 Subject: [PATCH] refactor. --- box/tcp_server.h | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-) diff --git a/box/tcp_server.h b/box/tcp_server.h index c06cddc..4698196 100644 --- a/box/tcp_server.h +++ b/box/tcp_server.h @@ -18,23 +18,25 @@ #ifndef TCP_SERVER_795VXR94 #define TCP_SERVER_795VXR94 +#include "bh_util.h" +#include "io_service.h" #include "tcp_common.h" -#include <thread> +class NodeCenter; class TcpServer { public: - explicit TcpServer(int port); - ~TcpServer(); - bool Start(); - void Stop(); + typedef IoService::io_service_t io_service_t; + typedef std::shared_ptr<Synced<NodeCenter>> CenterPtr; + TcpServer(io_service_t &io, int port, CenterPtr pscenter) : + io_(io), listener_(io_, tcp::endpoint(tcp::v6(), port)), pscenter_(pscenter) { Accept(); } + ~TcpServer() { listener_.close(); } private: + io_service_t &io_; void Accept(); - std::thread worker_; - std::atomic<bool> run_; - boost::asio::io_context io_; tcp::acceptor listener_; + CenterPtr pscenter_; }; #endif // end of include guard: TCP_SERVER_795VXR94 -- Gitblit v1.8.0