/*
|
* =====================================================================================
|
*
|
* Filename: tcp_server.h
|
*
|
* Description:
|
*
|
* Version: 1.0
|
* Created: 2021年05月19日 15时06分01秒
|
* Revision: none
|
* Compiler: gcc
|
*
|
* Author: Li Chao (), lichao@aiotlink.com
|
* Organization:
|
*
|
* =====================================================================================
|
*/
|
#ifndef TCP_SERVER_795VXR94
|
#define TCP_SERVER_795VXR94
|
|
#include "bh_util.h"
|
#include "io_service.h"
|
#include "tcp_common.h"
|
|
class NodeCenter;
|
class TcpServer
|
{
|
public:
|
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();
|
tcp::acceptor listener_;
|
CenterPtr pscenter_;
|
};
|
|
#endif // end of include guard: TCP_SERVER_795VXR94
|