Skip to content

Commit 071f9a9

Browse files
committed
Moves read functions from resp3:: to redis::.
1 parent 5a6ca14 commit 071f9a9

File tree

17 files changed

+373
-364
lines changed

17 files changed

+373
-364
lines changed

examples/cpp17_low_level_sync.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99

1010
#include <boost/asio/connect.hpp>
1111
#include <boost/redis.hpp>
12+
#include <boost/redis/write.hpp>
1213
#include <boost/redis/src.hpp>
1314

1415
namespace net = boost::asio;
15-
namespace resp3 = boost::redis::resp3;
16+
namespace redis = boost::redis;
1617
using boost::redis::adapter::adapt2;
1718
using boost::redis::request;
1819
using boost::redis::adapter::result;
@@ -39,16 +40,16 @@ auto main(int argc, char * argv[]) -> int
3940
req.push("HELLO", 3);
4041
req.push("PING", "Hello world");
4142
req.push("QUIT");
42-
resp3::write(socket, req);
43+
redis::write(socket, req);
4344

4445
std::string buffer;
4546
result<std::string> resp;
4647

4748
// Reads the responses to all commands in the request.
4849
auto dbuffer = net::dynamic_buffer(buffer);
49-
resp3::read(socket, dbuffer);
50-
resp3::read(socket, dbuffer, adapt2(resp));
51-
resp3::read(socket, dbuffer);
50+
redis::read(socket, dbuffer);
51+
redis::read(socket, dbuffer, adapt2(resp));
52+
redis::read(socket, dbuffer);
5253

5354
std::cout << "Ping: " << resp.value() << std::endl;
5455

examples/cpp20_low_level_async.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
#include <boost/asio.hpp>
88
#if defined(BOOST_ASIO_HAS_CO_AWAIT)
99
#include <boost/redis.hpp>
10+
#include <boost/redis/write.hpp>
1011
#include <string>
1112
#include <iostream>
1213

1314
namespace net = boost::asio;
14-
namespace resp3 = boost::redis::resp3;
15+
namespace redis = boost::redis;
1516
using resolver = net::use_awaitable_t<>::as_default_on_t<net::ip::tcp::resolver>;
1617
using tcp_socket = net::use_awaitable_t<>::as_default_on_t<net::ip::tcp::socket>;
1718
using boost::redis::adapter::adapt2;
@@ -33,17 +34,17 @@ auto co_main(std::string host, std::string port) -> net::awaitable<void>
3334
req.push("HELLO", 3);
3435
req.push("PING", "Hello world");
3536
req.push("QUIT");
36-
co_await resp3::async_write(socket, req);
37+
co_await redis::async_write(socket, req);
3738

3839
// Responses
3940
std::string buffer;
4041
result<std::string> resp;
4142

4243
// Reads the responses to all commands in the request.
4344
auto dbuffer = net::dynamic_buffer(buffer);
44-
co_await resp3::async_read(socket, dbuffer);
45-
co_await resp3::async_read(socket, dbuffer, adapt2(resp));
46-
co_await resp3::async_read(socket, dbuffer);
45+
co_await redis::async_read(socket, dbuffer);
46+
co_await redis::async_read(socket, dbuffer, adapt2(resp));
47+
co_await redis::async_read(socket, dbuffer);
4748

4849
std::cout << "Ping: " << resp.value() << std::endl;
4950
}

include/boost/redis/adapter/adapt.hpp

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,38 @@
77
#ifndef BOOST_REDIS_ADAPTER_ADAPT_HPP
88
#define BOOST_REDIS_ADAPTER_ADAPT_HPP
99

10+
#include <boost/redis/resp3/node.hpp>
11+
#include <boost/redis/response.hpp>
12+
#include <boost/redis/adapter/detail/result_traits.hpp>
1013
#include <boost/redis/adapter/detail/response_traits.hpp>
14+
#include <boost/mp11.hpp>
15+
#include <boost/system.hpp>
16+
17+
#include <tuple>
18+
#include <limits>
19+
#include <string_view>
20+
#include <variant>
1121

1222
namespace boost::redis::adapter
1323
{
1424

15-
template <class T>
16-
using adapter_t = typename detail::adapter_t<T>;
25+
/** @brief Adapts a type to be used as a response.
26+
*
27+
* The type T must be either
28+
*
29+
* 1. a response<T1, T2, T3, ...> or
30+
* 2. std::vector<node<String>>
31+
*
32+
* The types T1, T2, etc can be any STL container, any integer type
33+
* and `std::string`.
34+
*
35+
* @param t Tuple containing the responses.
36+
*/
37+
template<class T>
38+
auto boost_redis_adapt(T& t) noexcept
39+
{
40+
return detail::response_traits<T>::adapt(t);
41+
}
1742

1843
/** @brief Adapts user data to read operations.
1944
* @ingroup low-level-api
@@ -48,7 +73,7 @@ using adapter_t = typename detail::adapter_t<T>;
4873
*/
4974
template<class T>
5075
auto adapt2(T& t = redis::ignore) noexcept
51-
{ return detail::response_traits<T>::adapt(t); }
76+
{ return detail::result_traits<T>::adapt(t); }
5277

5378
} // boost::redis::adapter
5479

include/boost/redis/adapter/detail/adapters.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
#include <boost/redis/error.hpp>
1111
#include <boost/redis/resp3/type.hpp>
1212
#include <boost/redis/resp3/serialization.hpp>
13-
#include <boost/redis/resp3/detail/parser.hpp>
1413
#include <boost/redis/resp3/node.hpp>
1514
#include <boost/redis/adapter/result.hpp>
1615
#include <boost/redis/adapter/ignore.hpp>

0 commit comments

Comments
 (0)