/* Copyright (c) 2018-2022 Marcelo Zimbres Silva (mzimbres@gmail.com) * * Distributed under the Boost Software License, Version 1.0. (See * accompanying file LICENSE.txt) */ #include #include #include #include #include #if defined(BOOST_ASIO_HAS_CO_AWAIT) namespace asio = boost::asio; using boost::redis::request; using boost::redis::response; using boost::redis::config; using boost::redis::connection; // Called from the main function (see main.cpp) auto co_main(config cfg) -> asio::awaitable { auto conn = std::make_shared(co_await asio::this_coro::executor); conn->async_run(cfg, {}, asio::consign(asio::detached, conn)); // A request containing only a ping command. request req; req.push("PING", "Hello world"); // Response where the PONG response will be stored. response resp; // Executes the request. co_await conn->async_exec(req, resp); conn->cancel(); std::cout << "PING: " << std::get<0>(resp).value() << std::endl; } #endif // defined(BOOST_ASIO_HAS_CO_AWAIT)