Switch magic timestamp channel to RemoteMessage
In order to track reboots and such, we really need to communicate more
information from the message_bridge to the logger. It is a shame to
have to modify the MessageHeader to do this, even though it would be
nice. Switch the remote timestamp channels over to a new RemoteMessage
channel instead, and add code to rename the channel when replaying.
There are no known log files with a MessageHeader actually logged, so
most of this should be pretty safe. I've tested this on an old log file
by hand.
Change-Id: If81b31869b95040151d833d20ec3eb8623ab1cd4
diff --git a/aos/events/simulated_network_bridge.cc b/aos/events/simulated_network_bridge.cc
index b9ff861..1ba1408 100644
--- a/aos/events/simulated_network_bridge.cc
+++ b/aos/events/simulated_network_bridge.cc
@@ -1,7 +1,10 @@
#include "aos/events/simulated_network_bridge.h"
+#include "absl/strings/str_cat.h"
+#include "aos/configuration.h"
#include "aos/events/event_loop.h"
#include "aos/events/simulated_event_loop.h"
+#include "aos/network/remote_message_generated.h"
namespace aos {
namespace message_bridge {
@@ -21,7 +24,7 @@
ServerConnection *server_connection, int client_index,
MessageBridgeClientStatus *client_status,
size_t channel_index,
- aos::Sender<logger::MessageHeader> *timestamp_logger)
+ aos::Sender<RemoteMessage> *timestamp_logger)
: fetch_node_factory_(fetch_node_factory),
send_node_factory_(send_node_factory),
send_event_loop_(send_event_loop),
@@ -117,11 +120,11 @@
client_connection_->received_packets() + 1);
if (timestamp_logger_) {
- aos::Sender<logger::MessageHeader>::Builder builder =
+ aos::Sender<RemoteMessage>::Builder builder =
timestamp_logger_->MakeBuilder();
- logger::MessageHeader::Builder message_header_builder =
- builder.MakeBuilder<logger::MessageHeader>();
+ RemoteMessage::Builder message_header_builder =
+ builder.MakeBuilder<RemoteMessage>();
message_header_builder.add_channel_index(channel_index_);
@@ -178,7 +181,7 @@
ClientConnection *client_connection_ = nullptr;
size_t channel_index_;
- aos::Sender<logger::MessageHeader> *timestamp_logger_ = nullptr;
+ aos::Sender<RemoteMessage> *timestamp_logger_ = nullptr;
};
SimulatedMessageBridge::SimulatedMessageBridge(
@@ -370,7 +373,7 @@
if (!timestamp_loggers[other_node_index]) {
timestamp_loggers[other_node_index] =
- event_loop->MakeSender<logger::MessageHeader>(
+ event_loop->MakeSender<RemoteMessage>(
absl::StrCat("/aos/remote_timestamps/",
connection->name()->string_view()));
}