liuxiaolong
2021-07-20 58d904a328c0d849769b483e901a0be9426b8209
box/tcp_server.cpp
@@ -23,26 +23,19 @@
using namespace std::chrono_literals;
TcpServer::TcpServer(int port, CenterPtr pscenter) :
    listener_(io(), tcp::endpoint(tcp::v6(), port)), pscenter_(pscenter)
{
   Accept();
}
TcpServer::~TcpServer() { Stop(); }
void TcpServer::OnStop()
{
   listener_.close();
}
void TcpServer::Accept()
{
   listener_.async_accept([this](bserror_t ec, tcp::socket sock) {
      if (!ec) {
         LOG_INFO() << "server accept client";
         LOG_TRACE() << "server accept client";
         TcpReply1::Create(std::move(sock), pscenter_);
         Accept();
      } else {
         // this is already destructed by now.
         if (ec.value() != ECANCELED) {
            LOG_WARNING() << "tcp server accept error: " << ec;
            Accept();
         }
      }
      Accept();
   });
}