#pragma once #include "coroutine.hpp" #include "net_address.hpp" #include "reactor.hpp" namespace tinyrpc { class TcpAcceptor{ public: TcpAcceptor(const NetAddress& netAddr); void init(); int accept(); private: int m_listenfd{-1}; NetAddress m_bindNetAddr; }; class TcpServer{ public: TcpServer(); TcpServer(const NetAddress& addr); void start(); private: void mainAcceptCorFun(); private: // Reactor* m_reactor{nullptr}; Coroutine m_accept_cor; TcpAcceptor m_acceptor; bool m_stop_accept{false}; // int m_conn_cnt{0}; }; }