7 #include <boost/asio/detail/buffer_sequence_adapter.hpp> 8 #include <boost/system/error_code.hpp> 9 #include "util/sync_stream_interface.h" 17 using error_code = ::boost::system::error_code;
25 template <
typename MBS>
size_t read_some(
const MBS& bufs, error_code& ec);
29 template <
typename MBS>
size_t read_some(
const MBS& bufs);
33 template <
typename BS>
size_t write_some(
const BS& bufs, error_code& ec);
37 template <
typename BS>
size_t write_some(
const BS& bufs);
40 template <
typename Socket>
41 template <
typename MBS>
43 using badapter = ::boost::asio::detail::buffer_sequence_adapter<
44 boost::asio::mutable_buffer,
const MBS&>;
47 auto res = s_.Recv(bsa.buffers(), bsa.count());
50 ec = error_code(std::move(res.error()).value(), boost::system::system_category());
55 template <
typename Socket>
56 template <
typename BS>
57 size_t AsioStreamAdapter<Socket>::write_some(
const BS& bufs, error_code& ec) {
59 ::boost::asio::detail::buffer_sequence_adapter<boost::asio::const_buffer,
64 auto res = s_.Send(bsa.buffers(), bsa.count());
68 ec = error_code(std::move(res.error()).value(), boost::system::system_category());