JFJochFrameSerializer: Add magic number to ensure that CBOR user data fields are consistent between receiver and writer
This commit is contained in:
@@ -255,7 +255,8 @@ inline void CBOR_ENC_USER_DATA(CborEncoder &encoder, const StartMessage& message
|
||||
CborEncoder mapEncoder;
|
||||
|
||||
cborErr(cbor_encode_text_stringz(&encoder, "user_data"));
|
||||
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 22));
|
||||
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 23));
|
||||
CBOR_ENC(mapEncoder, "magic_number", user_data_magic_number);
|
||||
|
||||
CBOR_ENC(mapEncoder, "file_prefix", message.file_prefix);
|
||||
CBOR_ENC(mapEncoder, "sample_name", message.sample_name);
|
||||
@@ -378,20 +379,26 @@ void JFJochFrameSerializer::SerializeSequenceStart(const StartMessage& message)
|
||||
}
|
||||
|
||||
void JFJochFrameSerializer::SerializeSequenceEnd(const EndMessage& message) {
|
||||
CborEncoder encoder, mapEncoder;
|
||||
CborEncoder encoder, mapEncoder, userDataMapEncoder;
|
||||
cbor_encoder_init(&encoder, buffer, max_buffer_size, 0);
|
||||
cborErr(cbor_encode_tag(&encoder,CborSignatureTag ));
|
||||
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 9));
|
||||
cborErr(cbor_encode_tag(&encoder, CborSignatureTag));
|
||||
cborErr(cbor_encoder_create_map(&encoder, &mapEncoder, 5));
|
||||
|
||||
CBOR_ENC(mapEncoder, "type", "end");
|
||||
CBOR_ENC(mapEncoder, "series_unique_id", message.series_unique_id);
|
||||
CBOR_ENC(mapEncoder, "series_id", message.series_id);
|
||||
CBOR_ENC(mapEncoder, "number_of_images", message.number_of_images);
|
||||
CBOR_ENC(mapEncoder, "max_receiver_delay", message.max_receiver_delay);
|
||||
CBOR_ENC(mapEncoder, "receiver_efficiency", message.efficiency);
|
||||
CBOR_ENC(mapEncoder, "write_master_file", message.write_master_file);
|
||||
CBOR_ENC(mapEncoder, "end_date", message.end_date);
|
||||
CBOR_ENC_RAD_INT_RESULT(mapEncoder, "rad_int_result", message.rad_int_result);
|
||||
|
||||
cborErr(cbor_encode_text_stringz(&mapEncoder, "user_data"));
|
||||
cborErr(cbor_encoder_create_map(&mapEncoder, &userDataMapEncoder, 6));
|
||||
CBOR_ENC(userDataMapEncoder, "magic_number", user_data_magic_number);
|
||||
CBOR_ENC(userDataMapEncoder, "number_of_images", message.number_of_images);
|
||||
CBOR_ENC(userDataMapEncoder, "max_receiver_delay", message.max_receiver_delay);
|
||||
CBOR_ENC(userDataMapEncoder, "receiver_efficiency", message.efficiency);
|
||||
CBOR_ENC(userDataMapEncoder, "write_master_file", message.write_master_file);
|
||||
CBOR_ENC_RAD_INT_RESULT(userDataMapEncoder, "rad_int_result", message.rad_int_result);
|
||||
cborErr(cbor_encoder_close_container(&mapEncoder, &userDataMapEncoder));
|
||||
|
||||
cborErr(cbor_encoder_close_container(&encoder, &mapEncoder));
|
||||
|
||||
curr_size = cbor_encoder_get_buffer_size(&encoder, buffer);
|
||||
@@ -416,8 +423,9 @@ void JFJochFrameSerializer::SerializeImage(const DataMessage& message) {
|
||||
message.timestamp_base);
|
||||
|
||||
cborErr(cbor_encode_text_stringz(&mapEncoder, "user_data"));
|
||||
cborErr(cbor_encoder_create_map(&mapEncoder, &userDataMapEncoder, 9));
|
||||
cborErr(cbor_encoder_create_map(&mapEncoder, &userDataMapEncoder, 10));
|
||||
|
||||
CBOR_ENC(userDataMapEncoder, "magic_number", user_data_magic_number);
|
||||
CBOR_ENC(userDataMapEncoder, "spots", message.spots);
|
||||
CBOR_ENC(userDataMapEncoder, "rad_int_profile", message.rad_int_profile);
|
||||
CBOR_ENC(userDataMapEncoder, "indexing_result", message.indexing_result);
|
||||
|
||||
Reference in New Issue
Block a user