Nuke LocalLogNamer

Nothing uses it except tests.  It isn't worth the cost anymore.  Clearly
the abstraction isn't good enough to be useful...

Change-Id: I28aa0cf3600c5bfbdfc3d3a0ee4b0c1388129cbb
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/aos/events/logging/log_namer.cc b/aos/events/logging/log_namer.cc
index 6fd39f8..a04d0ea 100644
--- a/aos/events/logging/log_namer.cc
+++ b/aos/events/logging/log_namer.cc
@@ -547,43 +547,6 @@
   return result;
 }
 
-NewDataWriter *LocalLogNamer::MakeWriter(const Channel *channel) {
-  CHECK(configuration::ChannelIsSendableOnNode(channel, node()))
-      << ": " << configuration::CleanedChannelToString(channel);
-  return &data_writer_;
-}
-
-void LocalLogNamer::Rotate(const Node *node) {
-  CHECK(node == this->node());
-  data_writer_.Rotate();
-}
-
-void LocalLogNamer::WriteConfiguration(
-    aos::SizePrefixedFlatbufferDetachedBuffer<LogFileHeader> *header,
-    std::string_view config_sha256) {
-  const std::string filename = absl::StrCat(base_name_, config_sha256, ".bfbs");
-
-  std::unique_ptr<DetachedBufferWriter> writer =
-      std::make_unique<DetachedBufferWriter>(
-          filename, std::make_unique<aos::logger::DummyEncoder>());
-  writer->QueueSizedFlatbuffer(header->Release());
-}
-
-NewDataWriter *LocalLogNamer::MakeTimestampWriter(const Channel *channel) {
-  CHECK(configuration::ChannelIsReadableOnNode(channel, node_))
-      << ": Message is not delivered to this node.";
-  CHECK(node_ != nullptr) << ": Can't log timestamps in a single node world";
-  CHECK(configuration::ConnectionDeliveryTimeIsLoggedOnNode(channel, node_,
-                                                            node_))
-      << ": Delivery times aren't logged for this channel on this node.";
-  return &data_writer_;
-}
-
-NewDataWriter *LocalLogNamer::MakeForwardedTimestampWriter(
-    const Channel * /*channel*/, const Node * /*node*/) {
-  LOG(FATAL) << "Can't log forwarded timestamps in a singe log file.";
-  return nullptr;
-}
 MultiNodeLogNamer::MultiNodeLogNamer(std::string_view base_name,
                                      EventLoop *event_loop)
     : MultiNodeLogNamer(base_name, event_loop->configuration(), event_loop,
diff --git a/aos/events/logging/log_namer.h b/aos/events/logging/log_namer.h
index 7947ebe..00ed63f 100644
--- a/aos/events/logging/log_namer.h
+++ b/aos/events/logging/log_namer.h
@@ -286,57 +286,6 @@
       aos::SizePrefixedFlatbufferDetachedBuffer<LogFileHeader>::Empty();
 };
 
-// Local log namer is a simple version which only names things
-// "base_name.part#.bfbs" and increments the part number.  It doesn't support
-// any other log type.
-class LocalLogNamer : public LogNamer {
- public:
-  LocalLogNamer(std::string_view base_name, aos::EventLoop *event_loop,
-                const aos::Node *node)
-      : LogNamer(event_loop->configuration(), event_loop, node),
-        base_name_(base_name),
-        data_writer_(
-            this, node, event_loop->node(),
-            [this](NewDataWriter *writer) {
-              writer->writer = std::make_unique<DetachedBufferWriter>(
-                  absl::StrCat(base_name_, ".part", writer->parts_index(),
-                               ".bfbs"),
-                  std::make_unique<aos::logger::DummyEncoder>());
-            },
-            [](NewDataWriter * /*writer*/) {}) {}
-
-  LocalLogNamer(const LocalLogNamer &) = delete;
-  LocalLogNamer(LocalLogNamer &&) = delete;
-  LocalLogNamer &operator=(const LocalLogNamer &) = delete;
-  LocalLogNamer &operator=(LocalLogNamer &&) = delete;
-
-  ~LocalLogNamer() override = default;
-
-  std::string_view base_name() const final { return base_name_; }
-
-  void set_base_name(std::string_view base_name) final {
-    base_name_ = base_name;
-  }
-
-  NewDataWriter *MakeWriter(const Channel *channel) override;
-
-  void Rotate(const Node *node) override;
-
-  NewDataWriter *MakeTimestampWriter(const Channel *channel) override;
-
-  NewDataWriter *MakeForwardedTimestampWriter(const Channel * /*channel*/,
-                                              const Node * /*node*/) override;
-
-  void WriteConfiguration(
-      aos::SizePrefixedFlatbufferDetachedBuffer<LogFileHeader> *header,
-      std::string_view config_sha256) override;
-
- private:
-  std::string base_name_;
-
-  NewDataWriter data_writer_;
-};
-
 // Log namer which uses a config and a base name to name a bunch of files.
 class MultiNodeLogNamer : public LogNamer {
  public:
diff --git a/aos/events/logging/log_writer.h b/aos/events/logging/log_writer.h
index c364d36..51b46ae 100644
--- a/aos/events/logging/log_writer.h
+++ b/aos/events/logging/log_writer.h
@@ -156,15 +156,6 @@
   // Returns whether a log is currently being written.
   bool is_started() const { return static_cast<bool>(log_namer_); }
 
-  // Shortcut to call StartLogging with a LocalLogNamer when event processing
-  // starts.
-  void StartLoggingLocalNamerOnRun(std::string base_name) {
-    event_loop_->OnRun([this, base_name]() {
-      StartLogging(
-          std::make_unique<LocalLogNamer>(base_name, event_loop_, node_));
-    });
-  }
-
   // Shortcut to call StartLogging with a MultiNodeLogNamer when event
   // processing starts.
   void StartLoggingOnRun(std::string base_name) {
diff --git a/aos/events/logging/logger_test.cc b/aos/events/logging/logger_test.cc
index 62648f1..c5b1768 100644
--- a/aos/events/logging/logger_test.cc
+++ b/aos/events/logging/logger_test.cc
@@ -84,7 +84,7 @@
   const ::std::string base_name = tmpdir + "/logfile";
   const ::std::string config =
       absl::StrCat(base_name, kSingleConfigSha256, ".bfbs");
-  const ::std::string logfile = base_name + ".part0.bfbs";
+  const ::std::string logfile = base_name + "_data.part0.bfbs";
   // Remove it.
   unlink(config.c_str());
   unlink(logfile.c_str());
@@ -100,7 +100,7 @@
     Logger logger(logger_event_loop.get());
     logger.set_separate_config(false);
     logger.set_polling_period(std::chrono::milliseconds(100));
-    logger.StartLoggingLocalNamerOnRun(base_name);
+    logger.StartLoggingOnRun(base_name);
     event_loop_factory_.RunFor(chrono::milliseconds(20000));
   }
 
@@ -148,11 +148,11 @@
   const ::std::string base_name1 = tmpdir + "/logfile1";
   const ::std::string config1 =
       absl::StrCat(base_name1, kSingleConfigSha256, ".bfbs");
-  const ::std::string logfile1 = base_name1 + ".part0.bfbs";
+  const ::std::string logfile1 = base_name1 + "_data.part0.bfbs";
   const ::std::string base_name2 = tmpdir + "/logfile2";
   const ::std::string config2 =
       absl::StrCat(base_name2, kSingleConfigSha256, ".bfbs");
-  const ::std::string logfile2 = base_name2 + ".part0.bfbs";
+  const ::std::string logfile2 = base_name2 + "_data.part0.bfbs";
   unlink(logfile1.c_str());
   unlink(config1.c_str());
   unlink(logfile2.c_str());
@@ -168,15 +168,16 @@
 
     Logger logger(logger_event_loop.get());
     logger.set_polling_period(std::chrono::milliseconds(100));
-    logger_event_loop->OnRun([base_name1, base_name2, &logger_event_loop,
-                              &logger]() {
-      logger.StartLogging(std::make_unique<LocalLogNamer>(
-          base_name1, logger_event_loop.get(), logger_event_loop->node()));
-      EXPECT_DEATH(
-          logger.StartLogging(std::make_unique<LocalLogNamer>(
-              base_name2, logger_event_loop.get(), logger_event_loop->node())),
-          "Already logging");
-    });
+    logger_event_loop->OnRun(
+        [base_name1, base_name2, &logger_event_loop, &logger]() {
+          logger.StartLogging(std::make_unique<MultiNodeLogNamer>(
+              base_name1, logger_event_loop->configuration(),
+              logger_event_loop.get(), logger_event_loop->node()));
+          EXPECT_DEATH(logger.StartLogging(std::make_unique<MultiNodeLogNamer>(
+                           base_name2, logger_event_loop->configuration(),
+                           logger_event_loop.get(), logger_event_loop->node())),
+                       "Already logging");
+        });
     event_loop_factory_.RunFor(chrono::milliseconds(20000));
   }
 }
@@ -191,7 +192,7 @@
   const ::std::string base_name = tmpdir + "/logfile";
   const ::std::string config_file =
       absl::StrCat(base_name, kSingleConfigSha256, ".bfbs");
-  const ::std::string logfile = base_name + ".part0.bfbs";
+  const ::std::string logfile = base_name + "_data.part0.bfbs";
   // Remove the log file.
   unlink(config_file.c_str());
   unlink(logfile.c_str());
@@ -205,7 +206,7 @@
     Logger logger(logger_event_loop.get());
     logger.set_separate_config(false);
     logger.set_polling_period(std::chrono::milliseconds(100));
-    logger.StartLoggingLocalNamerOnRun(base_name);
+    logger.StartLoggingOnRun(base_name);
 
     event_loop_factory.RunFor(chrono::seconds(2));
   }
@@ -244,8 +245,9 @@
     logger.set_separate_config(false);
     logger.set_polling_period(std::chrono::milliseconds(100));
     logger_event_loop->OnRun([base_name, &logger_event_loop, &logger]() {
-      logger.StartLogging(std::make_unique<LocalLogNamer>(
-          base_name, logger_event_loop.get(), logger_event_loop->node()));
+      logger.StartLogging(std::make_unique<MultiNodeLogNamer>(
+          base_name, logger_event_loop->configuration(),
+          logger_event_loop.get(), logger_event_loop->node()));
       logger.StopLogging(aos::monotonic_clock::min_time);
       EXPECT_DEATH(logger.StopLogging(aos::monotonic_clock::min_time),
                    "Not logging right now");
@@ -260,11 +262,11 @@
   const ::std::string base_name1 = tmpdir + "/logfile1";
   const ::std::string config1 =
       absl::StrCat(base_name1, kSingleConfigSha256, ".bfbs");
-  const ::std::string logfile1 = base_name1 + ".part0.bfbs";
+  const ::std::string logfile1 = base_name1 + "_data.part0.bfbs";
   const ::std::string base_name2 = tmpdir + "/logfile2";
   const ::std::string config2 =
       absl::StrCat(base_name2, kSingleConfigSha256, ".bfbs");
-  const ::std::string logfile2 = base_name2 + ".part0.bfbs";
+  const ::std::string logfile2 = base_name2 + "_data.part0.bfbs";
   unlink(logfile1.c_str());
   unlink(config1.c_str());
   unlink(logfile2.c_str());
@@ -281,13 +283,15 @@
     Logger logger(logger_event_loop.get());
     logger.set_separate_config(false);
     logger.set_polling_period(std::chrono::milliseconds(100));
-    logger.StartLogging(std::make_unique<LocalLogNamer>(
-        base_name1, logger_event_loop.get(), logger_event_loop->node()));
+    logger.StartLogging(std::make_unique<MultiNodeLogNamer>(
+        base_name1, logger_event_loop->configuration(), logger_event_loop.get(),
+        logger_event_loop->node()));
     event_loop_factory_.RunFor(chrono::milliseconds(10000));
     logger.StopLogging(logger_event_loop->monotonic_now());
     event_loop_factory_.RunFor(chrono::milliseconds(10000));
-    logger.StartLogging(std::make_unique<LocalLogNamer>(
-        base_name2, logger_event_loop.get(), logger_event_loop->node()));
+    logger.StartLogging(std::make_unique<MultiNodeLogNamer>(
+        base_name2, logger_event_loop->configuration(), logger_event_loop.get(),
+        logger_event_loop->node()));
     event_loop_factory_.RunFor(chrono::milliseconds(10000));
   }
 
@@ -330,8 +334,8 @@
   const ::std::string base_name = tmpdir + "/logfile";
   const ::std::string config =
       absl::StrCat(base_name, kSingleConfigSha256, ".bfbs");
-  const ::std::string logfile0 = base_name + ".part0.bfbs";
-  const ::std::string logfile1 = base_name + ".part1.bfbs";
+  const ::std::string logfile0 = base_name + "_data.part0.bfbs";
+  const ::std::string logfile1 = base_name + "_data.part1.bfbs";
   // Remove it.
   unlink(config.c_str());
   unlink(logfile0.c_str());
@@ -348,7 +352,7 @@
     Logger logger(logger_event_loop.get());
     logger.set_separate_config(false);
     logger.set_polling_period(std::chrono::milliseconds(100));
-    logger.StartLoggingLocalNamerOnRun(base_name);
+    logger.StartLoggingOnRun(base_name);
     event_loop_factory_.RunFor(chrono::milliseconds(10000));
     logger.Rotate();
     event_loop_factory_.RunFor(chrono::milliseconds(10000));
@@ -450,7 +454,7 @@
     Logger logger(logger_event_loop.get());
     logger.set_separate_config(false);
     logger.set_polling_period(std::chrono::milliseconds(100));
-    logger.StartLoggingLocalNamerOnRun(base_name);
+    logger.StartLoggingOnRun(base_name);
 
     event_loop_factory_.RunFor(chrono::milliseconds(1000));
   }
@@ -466,7 +470,7 @@
   const ::std::string base_name = tmpdir + "/logfile";
   const ::std::string config_file =
       absl::StrCat(base_name, kSingleConfigSha256, ".bfbs");
-  const ::std::string logfile = base_name + ".part0.bfbs";
+  const ::std::string logfile = base_name + "_data.part0.bfbs";
   // Remove the log file.
   unlink(config_file.c_str());
   unlink(logfile.c_str());
@@ -513,7 +517,7 @@
     Logger logger(logger_event_loop.get());
     logger.set_separate_config(false);
     logger.set_polling_period(std::chrono::milliseconds(100));
-    logger.StartLoggingLocalNamerOnRun(base_name);
+    logger.StartLoggingOnRun(base_name);
 
     event_loop_factory.RunFor(kSendPeriod * max_legal_messages * 2);
   }
diff --git a/aos/events/logging/realtime_replay_test.cc b/aos/events/logging/realtime_replay_test.cc
index c7744d4..0cdf9fb 100644
--- a/aos/events/logging/realtime_replay_test.cc
+++ b/aos/events/logging/realtime_replay_test.cc
@@ -51,7 +51,7 @@
     Logger logger(logger_event_loop.get());
     logger.set_separate_config(false);
     logger.set_polling_period(std::chrono::milliseconds(100));
-    logger.StartLoggingLocalNamerOnRun(base_name);
+    logger.StartLoggingOnRun(base_name);
     event_loop_factory_.RunFor(std::chrono::milliseconds(2000));
   }