26 lines
502 B
C++
26 lines
502 B
C++
#pragma once
|
|
|
|
#include "common.h"
|
|
|
|
namespace saw {
|
|
class json_codec {
|
|
public:
|
|
struct limits {
|
|
size_t depth = 8;
|
|
size_t length = 2048;
|
|
};
|
|
|
|
json_codec();
|
|
~json_codec();
|
|
|
|
template<class Schema, class Container>
|
|
error encode(typename message<Schema, Container>::reader reader, buffer& buffer);
|
|
|
|
template<class Schema, class Container>
|
|
error decode(typename message<Schema, Container>::builder builder, buffer& buffer, const limits& lim = limits{});
|
|
private:
|
|
class impl;
|
|
own<impl> impl_;
|
|
};
|
|
}
|