CBOR: Add self describing CBOR tag at the beginning

This commit is contained in:
2023-04-19 09:53:25 +02:00
parent f471e0925d
commit d2df1b3ce3
4 changed files with 63 additions and 16 deletions

View File

@@ -293,8 +293,9 @@ const std::vector<uint8_t> &JFJochFrameSerializer::GetBuffer() const {
void JFJochFrameSerializer::SerializeSequenceStart(const StartMessage& message) {
buffer.resize(max_buffer_size);
CborEncoder encoder, mapEncoder;
cbor_encoder_init(&encoder, buffer.data(), buffer.size(), 0);
cbor_encoder_init(&encoder, buffer.data(), buffer.size(), 0);
cborErr(cbor_encode_tag(&encoder, SelfDescribedCBOR ));
size_t elements = 27;
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, elements));
@@ -344,6 +345,7 @@ void JFJochFrameSerializer::SerializeSequenceEnd(const EndMessage& message) {
CborEncoder encoder, mapEncoder;
cbor_encoder_init(&encoder, buffer.data(), buffer.size(), 0);
cborErr(cbor_encode_tag(&encoder, SelfDescribedCBOR ));
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 6));
CBOR_ENC(mapEncoder, "type", "end");
@@ -364,6 +366,8 @@ void JFJochFrameSerializer::SerializeImage(const DataMessage& message) {
CborEncoder encoder, mapEncoder, userDataMapEncoder;
cbor_encoder_init(&encoder, buffer.data(), buffer.size(), 0);
cborErr(cbor_encode_tag(&encoder, SelfDescribedCBOR ));
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 4));
CBOR_ENC(mapEncoder, "type", "image");