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/network/message_bridge_test.cc b/aos/network/message_bridge_test.cc
index 36bdde9..ed192b7 100644
--- a/aos/network/message_bridge_test.cc
+++ b/aos/network/message_bridge_test.cc
@@ -34,18 +34,18 @@
 }
 
 class MessageBridgeTest : public ::testing::Test {
-  public:
-   MessageBridgeTest()
-       : pi1_config(aos::configuration::ReadConfig(
-             "aos/network/message_bridge_test_server_config.json")),
-         pi2_config(aos::configuration::ReadConfig(
-             "aos/network/message_bridge_test_client_config.json")) {
-     util::UnlinkRecursive(ShmBase("pi1"));
-     util::UnlinkRecursive(ShmBase("pi2"));
-   }
+ public:
+  MessageBridgeTest()
+      : pi1_config(aos::configuration::ReadConfig(
+            "aos/network/message_bridge_test_server_config.json")),
+        pi2_config(aos::configuration::ReadConfig(
+            "aos/network/message_bridge_test_client_config.json")) {
+    util::UnlinkRecursive(ShmBase("pi1"));
+    util::UnlinkRecursive(ShmBase("pi2"));
+  }
 
-   aos::FlatbufferDetachedBuffer<aos::Configuration> pi1_config;
-   aos::FlatbufferDetachedBuffer<aos::Configuration> pi2_config;
+  aos::FlatbufferDetachedBuffer<aos::Configuration> pi1_config;
+  aos::FlatbufferDetachedBuffer<aos::Configuration> pi2_config;
 };
 
 // Test that we can send a ping message over sctp and receive it.
@@ -89,8 +89,8 @@
       ping_event_loop.MakeSender<examples::Ping>("/test");
 
   aos::ShmEventLoop pi1_test_event_loop(&pi1_config.message());
-  aos::Fetcher<logger::MessageHeader> message_header_fetcher1 =
-      pi1_test_event_loop.MakeFetcher<logger::MessageHeader>(
+  aos::Fetcher<RemoteMessage> message_header_fetcher1 =
+      pi1_test_event_loop.MakeFetcher<RemoteMessage>(
           "/pi1/aos/remote_timestamps/pi2");
 
   // Fetchers for confirming the remote timestamps made it.
@@ -121,8 +121,8 @@
 
   aos::Fetcher<ClientStatistics> client_statistics_fetcher =
       test_event_loop.MakeFetcher<ClientStatistics>("/aos");
-  aos::Fetcher<logger::MessageHeader> message_header_fetcher2 =
-      test_event_loop.MakeFetcher<logger::MessageHeader>(
+  aos::Fetcher<RemoteMessage> message_header_fetcher2 =
+      test_event_loop.MakeFetcher<RemoteMessage>(
           "/pi2/aos/remote_timestamps/pi1");
 
   // Event loop for fetching data delivered to pi2 from pi1 to match up
@@ -282,8 +282,9 @@
       "/pi1/aos/remote_timestamps/pi2",
       [pi1_timestamp_channel, ping_timestamp_channel, &ping_on_pi2_fetcher,
        &ping_on_pi1_fetcher, &pi1_on_pi2_timestamp_fetcher,
-       &pi1_on_pi1_timestamp_fetcher](const logger::MessageHeader &header) {
-        VLOG(1) << aos::FlatbufferToJson(&header);
+       &pi1_on_pi1_timestamp_fetcher](const RemoteMessage &header) {
+        VLOG(1) << "/pi1/aos/remote_timestamps/pi2 RemoteMessage "
+                << aos::FlatbufferToJson(&header);
 
         const aos::monotonic_clock::time_point header_monotonic_sent_time(
             chrono::nanoseconds(header.monotonic_sent_time()));
@@ -879,9 +880,9 @@
   std::atomic<int> ping_timestamp_count{0};
   pi1_remote_timestamp_event_loop.MakeWatcher(
       "/pi1/aos/remote_timestamps/pi2",
-      [ping_channel_index,
-       &ping_timestamp_count](const logger::MessageHeader &header) {
-        VLOG(1) << aos::FlatbufferToJson(&header);
+      [ping_channel_index, &ping_timestamp_count](const RemoteMessage &header) {
+        VLOG(1) << "/pi1/aos/remote_timestamps/pi2 RemoteMessage "
+                << aos::FlatbufferToJson(&header);
         if (header.channel_index() == ping_channel_index) {
           ++ping_timestamp_count;
         }
@@ -1034,9 +1035,9 @@
   std::atomic<int> ping_timestamp_count{0};
   pi1_remote_timestamp_event_loop.MakeWatcher(
       "/pi1/aos/remote_timestamps/pi2",
-      [ping_channel_index,
-       &ping_timestamp_count](const logger::MessageHeader &header) {
-        VLOG(1) << aos::FlatbufferToJson(&header);
+      [ping_channel_index, &ping_timestamp_count](const RemoteMessage &header) {
+        VLOG(1) << "/pi1/aos/remote_timestamps/pi2 RemoteMessage "
+                << aos::FlatbufferToJson(&header);
         if (header.channel_index() == ping_channel_index) {
           ++ping_timestamp_count;
         }