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