#include "tcp_connection.hpp" #include #include #include #include #include #include namespace check_nt { namespace server { tcp_connection::tcp_connection(boost::asio::io_service& io_service, boost::shared_ptr handler) : connection(io_service, handler) , socket_(io_service) {} boost::asio::ip::tcp::socket& tcp_connection::socket() { return socket_; } void tcp_connection::stop() { handler_->log_debug(__FILE__, __LINE__, _T("stopped data connection")); } void tcp_connection::start_read_request(buffer_type &buffer, int timeout) { set_timeout(timeout); socket_.async_read_some( boost::asio::buffer(buffer), strand_.wrap( boost::bind(&connection::handle_read_request, shared_from_this(), boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred) ) ); } void tcp_connection::start_write_request(const std::vector& response) { boost::asio::async_write(socket_, response, strand_.wrap( boost::bind(&connection::handle_write_response, shared_from_this(),boost::asio::placeholders::error) ) ); } } // namespace server } // namespace check_nt