Don't replay channels which aren't logged
If a channel has no data on it, there's no real need to rename it. And
if we don't rename it but still open a sender, we can end up consuming
senders for the logger.
Change-Id: I93c89bf046e1a8a6cf770e5b80dcceb1414af707
diff --git a/aos/events/logging/logger.cc b/aos/events/logging/logger.cc
index 7f08f7a..45bda51 100644
--- a/aos/events/logging/logger.cc
+++ b/aos/events/logging/logger.cc
@@ -1298,6 +1298,10 @@
event_loop,
logged_configuration()->channels()->Get(logged_channel_index));
+ if (channel->logger() == LoggerConfig::NOT_LOGGED) {
+ continue;
+ }
+
message_bridge::NoncausalOffsetEstimator *filter = nullptr;
RemoteMessageSender *remote_timestamp_sender = nullptr;
diff --git a/aos/events/logging/logger_test.cc b/aos/events/logging/logger_test.cc
index 56c3bb0..f57f129 100644
--- a/aos/events/logging/logger_test.cc
+++ b/aos/events/logging/logger_test.cc
@@ -30,7 +30,7 @@
constexpr std::string_view kSingleConfigSha1(
"bc8c9c2e31589eae6f0e36d766f6a437643e861d9568b7483106841cf7504dea");
constexpr std::string_view kConfigSha1(
- "f59be0b208c3feab512abac12720b53166303b382b39806e2beeb46e3b9d2a4a");
+ "47511a1906dbb59cf9f8ad98ad08e568c718a4deb204c8bbce81ff76cef9095c");
class LoggerTest : public ::testing::Test {
public:
diff --git a/aos/events/logging/multinode_pingpong.json b/aos/events/logging/multinode_pingpong.json
index 9b502cf..6a93452 100644
--- a/aos/events/logging/multinode_pingpong.json
+++ b/aos/events/logging/multinode_pingpong.json
@@ -89,12 +89,14 @@
"name": "/pi1/aos/remote_timestamps/pi2",
"type": "aos.message_bridge.RemoteMessage",
"logger": "NOT_LOGGED",
+ "num_senders": 2,
"source_node": "pi1"
},
{
"name": "/pi2/aos/remote_timestamps/pi1",
"type": "aos.message_bridge.RemoteMessage",
"logger": "NOT_LOGGED",
+ "num_senders": 2,
"source_node": "pi2"
},
/* Forwarded to pi2 */