2
0
mirror of https://github.com/boostorg/redis.git synced 2026-02-20 15:02:23 +00:00

Further progresses with response types.

This commit is contained in:
Marcelo Zimbres
2021-01-31 16:12:16 +01:00
parent 6052773347
commit 4ffeda5e3e
6 changed files with 248 additions and 134 deletions

View File

@@ -7,6 +7,7 @@
#include <boost/asio.hpp>
#include <aedis/aedis.hpp>
#include <aedis/receiver_print.hpp>
#include <stack>
@@ -37,7 +38,7 @@ operator<<(std::ostream& os, myevent e)
return os;
}
auto fill_req(resp::request<myevent>& req)
auto filler(resp::request<myevent>& req)
{
//req.subscribe("channel");
//req.subscribe("__keyspace@0__:user:*");
@@ -68,10 +69,19 @@ auto fill_req(resp::request<myevent>& req)
//req.del("eee");
}
void fill1(resp::request<myevent>& req)
{
req.multi();
req.rpush("list", {1, 2, 3});
req.lrange("list");
req.exec();
req.ping();
}
net::awaitable<void> subscriber()
{
auto ex = co_await net::this_coro::executor;
try {
auto ex = co_await net::this_coro::executor;
tcp::resolver resv(ex);
auto const r = resv.resolve("127.0.0.1", "6379");
tcp::socket socket {ex};
@@ -84,15 +94,13 @@ net::awaitable<void> subscriber()
co_spawn(
ex,
resp::async_reader(socket, reqs, recv, resps),
resp::async_reader(socket, reqs, resps, recv),
net::detached);
resp::async_writer(socket, reqs, st, net::detached);
auto filler = [](auto& req){fill_req(req);};
for (;;) {
queue_writer(reqs, filler, st);
queue_writer(reqs, fill1, st);
net::steady_timer timer(ex, std::chrono::milliseconds{1000});
co_await timer.async_wait(net::use_awaitable);
}