lichao
2021-06-02 ab898268c8bc493ca9862b2d64f2e1e7d20e5a4c
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