liuxiaolong
2021-07-20 58d904a328c0d849769b483e901a0be9426b8209
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