const uint8_t kMagic[2] = {0, 1};
-static void bserEncode(dynamic const& dyn,
- QueueAppender& appender,
- const serialization_opts& opts);
+static void bserEncode(
+ dynamic const& dyn,
+ QueueAppender& appender,
+ const serialization_opts& opts);
serialization_opts::serialization_opts()
: sort_keys(false), growth_increment(8192) {}
-static const dynamic* getTemplate(const serialization_opts& opts,
- dynamic const& dynArray) {
+static const dynamic* getTemplate(
+ const serialization_opts& opts,
+ dynamic const& dynArray) {
if (!opts.templates.hasValue()) {
return nullptr;
}
static void bserEncodeInt(int64_t ival, QueueAppender& appender) {
/* Return the smallest size int that can store the value */
auto size =
- ((ival == ((int8_t)ival)) ? 1 : (ival == ((int16_t)ival))
- ? 2
- : (ival == ((int32_t)ival)) ? 4 : 8);
+ ((ival == ((int8_t)ival))
+ ? 1
+ : (ival == ((int16_t)ival)) ? 2 : (ival == ((int32_t)ival)) ? 4 : 8);
switch (size) {
case 1:
appender.push((uint8_t*)str.data(), str.size());
}
-static void bserEncodeArraySimple(dynamic const& dyn,
- QueueAppender& appender,
- const serialization_opts& opts) {
+static void bserEncodeArraySimple(
+ dynamic const& dyn,
+ QueueAppender& appender,
+ const serialization_opts& opts) {
appender.write((int8_t)BserType::Array);
bserEncodeInt(int64_t(dyn.size()), appender);
for (const auto& ele : dyn) {
}
}
-static void bserEncodeArray(dynamic const& dyn,
- QueueAppender& appender,
- const serialization_opts& opts) {
-
+static void bserEncodeArray(
+ dynamic const& dyn,
+ QueueAppender& appender,
+ const serialization_opts& opts) {
auto templ = getTemplate(opts, dyn);
if (UNLIKELY(templ != nullptr)) {
appender.write((int8_t)BserType::Template);
bserEncodeArraySimple(dyn, appender, opts);
}
-static void bserEncodeObject(dynamic const& dyn,
- QueueAppender& appender,
- const serialization_opts& opts) {
+static void bserEncodeObject(
+ dynamic const& dyn,
+ QueueAppender& appender,
+ const serialization_opts& opts) {
appender.write((int8_t)BserType::Object);
bserEncodeInt(int64_t(dyn.size()), appender);
if (opts.sort_keys) {
- std::vector<std::pair<dynamic, dynamic>> sorted(dyn.items().begin(),
- dyn.items().end());
+ std::vector<std::pair<dynamic, dynamic>> sorted(
+ dyn.items().begin(), dyn.items().end());
std::sort(sorted.begin(), sorted.end());
for (const auto& item : sorted) {
bserEncode(item.first, appender, opts);
}
}
-static void bserEncode(dynamic const& dyn,
- QueueAppender& appender,
- const serialization_opts& opts) {
+static void bserEncode(
+ dynamic const& dyn,
+ QueueAppender& appender,
+ const serialization_opts& opts) {
switch (dyn.type()) {
case dynamic::Type::NULLT:
appender.write((int8_t)BserType::Null);
}
}
-std::unique_ptr<folly::IOBuf> toBserIOBuf(folly::dynamic const& dyn,
- const serialization_opts& opts) {
+std::unique_ptr<folly::IOBuf> toBserIOBuf(
+ folly::dynamic const& dyn,
+ const serialization_opts& opts) {
IOBufQueue q(IOBufQueue::cacheChainLength());
uint8_t hdrbuf[sizeof(kMagic) + 1 + sizeof(int64_t)];