Add remote_boot_uuid to Context
This lets us track which boot a message came from and finally fix the
logger relying on ServerStatistics having all the required information
needed to build up the logfile header.
Change-Id: I17fc4c5718d5d69c7a1e154afdd83b1ccb388a8f
diff --git a/aos/ipc_lib/lockless_queue.cc b/aos/ipc_lib/lockless_queue.cc
index a0c68cb..98701b4 100644
--- a/aos/ipc_lib/lockless_queue.cc
+++ b/aos/ipc_lib/lockless_queue.cc
@@ -908,7 +908,7 @@
const char *data, size_t length,
monotonic_clock::time_point monotonic_remote_time,
realtime_clock::time_point realtime_remote_time,
- uint32_t remote_queue_index,
+ uint32_t remote_queue_index, const UUID &remote_boot_uuid,
monotonic_clock::time_point *monotonic_sent_time,
realtime_clock::time_point *realtime_sent_time, uint32_t *queue_index) {
CHECK_LE(length, size());
@@ -917,14 +917,14 @@
// adhere to this convention and place it at the end.
memcpy((reinterpret_cast<char *>(Data()) + size() - length), data, length);
return Send(length, monotonic_remote_time, realtime_remote_time,
- remote_queue_index, monotonic_sent_time,
+ remote_queue_index, remote_boot_uuid, monotonic_sent_time,
realtime_sent_time, queue_index);
}
bool LocklessQueueSender::Send(
size_t length, monotonic_clock::time_point monotonic_remote_time,
realtime_clock::time_point realtime_remote_time,
- uint32_t remote_queue_index,
+ uint32_t remote_queue_index, const UUID &remote_boot_uuid,
monotonic_clock::time_point *monotonic_sent_time,
realtime_clock::time_point *realtime_sent_time, uint32_t *queue_index) {
const size_t queue_size = memory_->queue_size();
@@ -949,6 +949,7 @@
// Pass these through. Any alternative behavior can be implemented out a
// layer.
message->header.remote_queue_index = remote_queue_index;
+ message->header.remote_boot_uuid = remote_boot_uuid;
message->header.monotonic_remote_time = monotonic_remote_time;
message->header.realtime_remote_time = realtime_remote_time;
@@ -1209,7 +1210,7 @@
realtime_clock::time_point *realtime_sent_time,
monotonic_clock::time_point *monotonic_remote_time,
realtime_clock::time_point *realtime_remote_time,
- uint32_t *remote_queue_index, size_t *length,
+ uint32_t *remote_queue_index, UUID *remote_boot_uuid, size_t *length,
char *data) const {
const size_t queue_size = memory_->queue_size();
@@ -1293,6 +1294,7 @@
}
*monotonic_remote_time = m->header.monotonic_remote_time;
*realtime_remote_time = m->header.realtime_remote_time;
+ *remote_boot_uuid = m->header.remote_boot_uuid;
if (data) {
memcpy(data, m->data(memory_->message_data_size()),
memory_->message_data_size());