From bde80e3c0ec2be96189087cf36e254f9c4bfb144 Mon Sep 17 00:00:00 2001 From: Tommi Date: Sat, 17 Feb 2024 15:52:57 +0100 Subject: [PATCH] Deprecate Candidate::set_id(), offer generate_id() instead Bug: none Change-Id: I68df28a24446667c1bcde04120795fce54252feb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/339940 Commit-Queue: Tomas Gunnarsson Reviewed-by: Per Kjellander Cr-Commit-Position: refs/heads/main@{#41762} --- api/candidate.cc | 4 ++++ api/candidate.h | 6 +++++- api/candidate_unittest.cc | 8 +++++--- p2p/base/connection.cc | 3 +-- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/api/candidate.cc b/api/candidate.cc index 0a1c359002..7718f94076 100644 --- a/api/candidate.cc +++ b/api/candidate.cc @@ -64,6 +64,10 @@ Candidate::Candidate(const Candidate&) = default; Candidate::~Candidate() = default; +void Candidate::generate_id() { + id_ = rtc::CreateRandomString(8); +} + bool Candidate::is_local() const { return type_ == LOCAL_PORT_TYPE; } diff --git a/api/candidate.h b/api/candidate.h index 101a3bd0a4..0aa75aa192 100644 --- a/api/candidate.h +++ b/api/candidate.h @@ -63,8 +63,12 @@ class RTC_EXPORT Candidate { Candidate(const Candidate&); ~Candidate(); + // 8 character long randomized ID string for logging purposes. const std::string& id() const { return id_; } - void set_id(absl::string_view id) { Assign(id_, id); } + // Generates a new, 8 character long, id. + void generate_id(); + // TODO(tommi): Callers should use generate_id(). Remove. + [[deprecated]] void set_id(absl::string_view id) { Assign(id_, id); } int component() const { return component_; } void set_component(int component) { component_ = component; } diff --git a/api/candidate_unittest.cc b/api/candidate_unittest.cc index fa512d6220..e52d448e72 100644 --- a/api/candidate_unittest.cc +++ b/api/candidate_unittest.cc @@ -20,9 +20,11 @@ namespace cricket { TEST(CandidateTest, Id) { Candidate c; EXPECT_EQ(c.id().size(), 8u); - std::string new_id = "12345678"; - c.set_id(new_id); - EXPECT_EQ(new_id, c.id()); + std::string current_id = c.id(); + // Generate a new ID. + c.generate_id(); + EXPECT_EQ(c.id().size(), 8u); + EXPECT_NE(current_id, c.id()); } TEST(CandidateTest, Component) { diff --git a/p2p/base/connection.cc b/p2p/base/connection.cc index 3f0c9c20b2..93a9a3f791 100644 --- a/p2p/base/connection.cc +++ b/p2p/base/connection.cc @@ -1689,10 +1689,9 @@ void Connection::MaybeUpdateLocalCandidate(StunRequest* request, return; } const uint32_t priority = priority_attr->value(); - std::string id = rtc::CreateRandomString(8); // Create a peer-reflexive candidate based on the local candidate. - local_candidate_.set_id(id); + local_candidate_.generate_id(); local_candidate_.set_type(PRFLX_PORT_TYPE); // Set the related address and foundation attributes before changing the // address.