Store UUIDs as 16 bytes of data
This makes them much more efficient to write over shared memory to solve
the boot UUID logging problem when we add them.
Change-Id: Idf361d6b096bfa52cbc98f555c90bf1f6b90d3e0
diff --git a/aos/events/logging/log_writer.h b/aos/events/logging/log_writer.h
index 4c7d39f..eb08bb7 100644
--- a/aos/events/logging/log_writer.h
+++ b/aos/events/logging/log_writer.h
@@ -209,6 +209,18 @@
bool header_valid = false;
// Sets the source_node_boot_uuid, properly updating everything.
+ void SetBootUUID(const UUID &new_source_node_boot_uuid) {
+ new_source_node_boot_uuid.CopyTo(source_node_boot_uuid.data());
+ header_valid = false;
+ has_source_node_boot_uuid = true;
+
+ flatbuffers::String *source_node_boot_uuid_string =
+ log_file_header.mutable_message()->mutable_source_node_boot_uuid();
+ CHECK_EQ(source_node_boot_uuid.size(),
+ source_node_boot_uuid_string->size());
+ memcpy(source_node_boot_uuid_string->data(), source_node_boot_uuid.data(),
+ source_node_boot_uuid.size());
+ }
void SetBootUUID(std::string_view new_source_node_boot_uuid) {
source_node_boot_uuid = new_source_node_boot_uuid;
header_valid = false;