/* Copyright (c) 2018-2023 Marcelo Zimbres Silva (mzimbres@gmail.com) * * Distributed under the Boost Software License, Version 1.0. (See * accompanying file LICENSE.txt) */ #ifndef BOOST_REDIS_WRITE_HPP #define BOOST_REDIS_WRITE_HPP #include #include namespace boost::redis::detail { /** \brief Writes a request synchronously. * \ingroup low-level-api * * \param stream Stream to write the request to. * \param req Request to write. */ template auto write(SyncWriteStream& stream, request const& req) { return asio::write(stream, asio::buffer(req.payload())); } template auto write(SyncWriteStream& stream, request const& req, system::error_code& ec) { return asio::write(stream, asio::buffer(req.payload()), ec); } /** \brief Writes a request asynchronously. * \ingroup low-level-api * * \param stream Stream to write the request to. * \param req Request to write. * \param token Asio completion token. */ template< class AsyncWriteStream, class CompletionToken = asio::default_completion_token_t > auto async_write( AsyncWriteStream& stream, request const& req, CompletionToken&& token = asio::default_completion_token_t{}) { return asio::async_write(stream, asio::buffer(req.payload()), token); } } // boost::redis::detail #endif // BOOST_REDIS_WRITE_HPP