From 526ebc8cfd7bdff156bdb0a3ba622511de68d8ba Mon Sep 17 00:00:00 2001 From: Guogang Li Date: Thu, 10 Oct 2024 09:31:36 -0700 Subject: [PATCH] Clear connection token when it exceeds TTL PiperOrigin-RevId: 684473251 --- .../implementation/analytics/analytics_recorder.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/connections/implementation/analytics/analytics_recorder.cc b/connections/implementation/analytics/analytics_recorder.cc index 0294704f..daa7bc21 100644 --- a/connections/implementation/analytics/analytics_recorder.cc +++ b/connections/implementation/analytics/analytics_recorder.cc @@ -47,6 +47,7 @@ namespace analytics { namespace { const char kVersion[] = "v1.0.0"; constexpr absl::string_view kOnStartClientSession = "OnStartClientSession"; +const absl::Duration kConnectionTokenMaxLife = absl::Hours(24); } // namespace using ::location::nearby::analytics::proto::ConnectionsLog; @@ -1199,6 +1200,15 @@ AnalyticsRecorder::LogicalConnection::GetEstablisedConnections() { std::back_inserter(established_connections), [](auto &kv) { return *kv.second; }); physical_connections_.clear(); + + for (auto &established_connection : established_connections) { + if (absl::Milliseconds(established_connection.duration_millis()) >= + kConnectionTokenMaxLife) { + NEARBY_LOGS(INFO) << "connection token exceed TTL, drop token."; + established_connection.set_connection_token(""); + } + } + return established_connections; }