9 #ifndef _1619bae8_acba_4bf8_8205_aa8dd0085c66
10 #define _1619bae8_acba_4bf8_8205_aa8dd0085c66
15 #include <boost/asio.hpp>
16 #include <boost/date_time.hpp>
36 typedef boost::asio::ip::tcp::socket Socket;
39 typedef boost::asio::deadline_timer::duration_type duration_type;
48 boost::asio::io_service
const & get_service()
const;
51 boost::asio::io_service & get_service();
54 std::shared_ptr<Socket const> get_socket()
const;
57 std::shared_ptr<Socket> get_socket();
69 void connect(Socket::endpoint_type
const & peer_endpoint);
75 void receive(Socket::endpoint_type
const & endpoint);
81 std::string read(std::size_t length);
84 void write(std::string
const & data);
87 boost::asio::io_service _service;
88 std::shared_ptr<Socket> _socket;
90 boost::asio::deadline_timer _deadline;
92 std::shared_ptr<boost::asio::ip::tcp::acceptor> _acceptor;
101 void _start_deadline(Source & source, boost::system::error_code & error);
102 void _stop_deadline();
104 void _run(Source & source, boost::system::error_code & error);
111 #endif // _1619bae8_acba_4bf8_8205_aa8dd0085c66