RpcSession.h 606 B

123456789101112131415161718192021222324252627282930
  1. #ifndef NET_RPC_SESSION_H
  2. #define NET_RPC_SESSION_H
  3. #include <boost/asio.hpp>
  4. #include <boost/array.hpp>
  5. #include <boost/noncopyable.hpp>
  6. #include <boost/shared_ptr.hpp>
  7. #include <boost/enable_shared_from_this.hpp>
  8. namespace Hainan {
  9. class RpcServer;
  10. class RpcSession: private boost::noncopyable, public boost::enable_shared_from_this<RpcSession>
  11. {
  12. private:
  13. boost::asio::ip::tcp::socket socket;
  14. RpcServer& rpc_server;
  15. public:
  16. RpcSession(RpcServer& server);
  17. ~RpcSession();
  18. boost::asio::ip::tcp::socket& Socket();
  19. void Start();
  20. void Stop();
  21. };
  22. } // namespace Hainan
  23. #endif // NET_RPC_SESSION_H