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 <tommi@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#41762}
diff --git a/api/candidate.cc b/api/candidate.cc
index 0a1c359..7718f94 100644
--- a/api/candidate.cc
+++ b/api/candidate.cc
@@ -64,6 +64,10 @@
 
 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 101a3bd..0aa75aa 100644
--- a/api/candidate.h
+++ b/api/candidate.h
@@ -63,8 +63,12 @@
   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 fa512d6..e52d448 100644
--- a/api/candidate_unittest.cc
+++ b/api/candidate_unittest.cc
@@ -20,9 +20,11 @@
 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 3f0c9c2..93a9a3f 100644
--- a/p2p/base/connection.cc
+++ b/p2p/base/connection.cc
@@ -1689,10 +1689,9 @@
     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.