43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
/* Copyright (c) 2018-2023 Marcelo Zimbres Silva (mzimbres@gmail.com)
|
|
*
|
|
* Distributed under the Boost Software License, Version 1.0. (See
|
|
* accompanying file LICENSE.txt)
|
|
*/
|
|
|
|
#include <boost/redis/resp3/serialization.hpp>
|
|
#include <boost/redis/resp3/parser.hpp>
|
|
|
|
namespace boost::redis::resp3 {
|
|
|
|
void boost_redis_to_bulk(std::string& payload, std::string_view data)
|
|
{
|
|
auto const str = std::to_string(data.size());
|
|
|
|
payload += to_code(type::blob_string);
|
|
payload.append(std::cbegin(str), std::cend(str));
|
|
payload += parser::sep;
|
|
payload.append(std::cbegin(data), std::cend(data));
|
|
payload += parser::sep;
|
|
}
|
|
|
|
void add_header(std::string& payload, type t, std::size_t size)
|
|
{
|
|
auto const str = std::to_string(size);
|
|
|
|
payload += to_code(t);
|
|
payload.append(std::cbegin(str), std::cend(str));
|
|
payload += parser::sep;
|
|
}
|
|
|
|
void add_blob(std::string& payload, std::string_view blob)
|
|
{
|
|
payload.append(std::cbegin(blob), std::cend(blob));
|
|
payload += parser::sep;
|
|
}
|
|
|
|
void add_separator(std::string& payload)
|
|
{
|
|
payload += parser::sep;
|
|
}
|
|
} // boost::redis::resp3
|