1
0

server.h 768 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef SERVER_H
  2. #define SERVER_H
  3. #include <string>
  4. #include <boost/asio/io_service.hpp>
  5. #include <boost/asio/ip/tcp.hpp>
  6. #include <boost/asio/signal_set.hpp>
  7. #include <boost/shared_ptr.hpp>
  8. #include "connection.h"
  9. #include "util.h"
  10. class server
  11. {
  12. public:
  13. server(boost::asio::io_service& ioService, unsigned short port, const std::string& path, const std::string& url);
  14. private:
  15. void start_signal_wait();
  16. void handle_signal_wait();
  17. void start_accept();
  18. void handle_accept(const boost::system::error_code& ec);
  19. boost::asio::io_service& m_ioService;
  20. boost::asio::signal_set m_signal;
  21. boost::asio::ip::tcp::acceptor m_acceptor;
  22. boost::asio::ip::tcp::socket m_socket;
  23. boost::shared_ptr<connection> m_connection;
  24. context m_context;
  25. };
  26. #endif // SERVER_H