| 26 | |
| 27 | template <typename AsioBuffer> |
| 28 | std::pair<asio::error_code, size_t> write(asio::ip::tcp::socket &sock, |
| 29 | AsioBuffer &&buffer) { |
| 30 | asio::error_code error; |
| 31 | auto length = asio::write(sock, std::forward<AsioBuffer>(buffer), error); |
| 32 | return std::make_pair(error, length); |
| 33 | } |
| 34 | |
| 35 | std::pair<std::error_code, asio::ip::tcp::socket> accept( |
| 36 | asio::ip::tcp::acceptor &a) { |