adjusted codecs to higher level api use
This commit is contained in:
parent
c3c325d662
commit
f18fb0a052
|
@ -66,8 +66,9 @@ template <typename... T> struct JsonEncodeImpl<MessageList<T...>> {
|
|||
}
|
||||
}
|
||||
if constexpr ((i + 1u) < sizeof...(T)) {
|
||||
if (buffer.push(',').failed()) {
|
||||
return recoverableError("Failed buffer push");
|
||||
Error error = buffer.push(',');
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
}
|
||||
{
|
||||
|
@ -83,16 +84,18 @@ template <typename... T> struct JsonEncodeImpl<MessageList<T...>> {
|
|||
|
||||
static Error encode(typename MessageList<T...>::Reader data,
|
||||
Buffer &buffer) {
|
||||
if (buffer.push('[').failed()) {
|
||||
return recoverableError("Failed buffer push");
|
||||
Error error = buffer.push('[');
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
Error error =
|
||||
error =
|
||||
JsonEncodeImpl<MessageList<T...>>::encodeMembers<0>(data, buffer);
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
if (buffer.push(']').failed()) {
|
||||
return recoverableError("Failed buffer push");
|
||||
error = buffer.push(']');
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
return noError();
|
||||
}
|
||||
|
@ -143,8 +146,9 @@ struct JsonEncodeImpl<MessageStruct<MessageStructMember<V, K>...>> {
|
|||
}
|
||||
}
|
||||
if constexpr ((i + 1u) < sizeof...(V)) {
|
||||
if (buffer.push(',').failed()) {
|
||||
return recoverableError("Failed buffer push");
|
||||
Error error = buffer.push(',');
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
}
|
||||
{
|
||||
|
@ -161,17 +165,18 @@ struct JsonEncodeImpl<MessageStruct<MessageStructMember<V, K>...>> {
|
|||
static Error
|
||||
encode(typename MessageStruct<MessageStructMember<V, K>...>::Reader data,
|
||||
Buffer &buffer) {
|
||||
if (buffer.push('{').failed()) {
|
||||
return recoverableError("Failed buffer push");
|
||||
}
|
||||
Error error =
|
||||
JsonEncodeImpl<MessageStruct<MessageStructMember<V, K>...>>::
|
||||
encodeMembers<0>(data, buffer);
|
||||
Error error = buffer.push('{');
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
if (buffer.push('}').failed()) {
|
||||
return recoverableError("Failed buffer push");
|
||||
error = JsonEncodeImpl<MessageStruct<MessageStructMember<V, K>...>>::
|
||||
encodeMembers<0>(data, buffer);
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
error = buffer.push('}');
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
return noError();
|
||||
}
|
||||
|
|
|
@ -34,10 +34,13 @@ template <> struct ProtoKelEncodeImpl<MessagePrimitive<std::string>> {
|
|||
Buffer &buffer) {
|
||||
std::string_view view = data.get();
|
||||
size_t size = view.size();
|
||||
if ((sizeof(size) + size) > buffer.writeCompositeLength()) {
|
||||
return recoverableError("Buffer too small");
|
||||
|
||||
Error error = buffer.writeRequireLength(sizeof(size) + size);
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
Error error = StreamValue<size_t>::encode(size, buffer);
|
||||
|
||||
error = StreamValue<size_t>::encode(size, buffer);
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
|
@ -373,10 +376,12 @@ public:
|
|||
// Check the size of the packet for the first
|
||||
// message length description
|
||||
|
||||
if (buffer.writeCompositeLength() <
|
||||
(packet_length + sizeof(msg_packet_length_t))) {
|
||||
return recoverableError("Buffer too small");
|
||||
Error error = buffer.writeRequireLength(packet_length +
|
||||
sizeof(msg_packet_length_t));
|
||||
if (error.failed()) {
|
||||
return error;
|
||||
}
|
||||
|
||||
{
|
||||
Error error =
|
||||
StreamValue<msg_packet_length_t>::encode(packet_length, buffer);
|
||||
|
|
Loading…
Reference in New Issue