Remove call operator from UniqueIdGenerator classes

Call operators do not improve code clarity, and usage was moderate.

Bug: None
Change-Id: I8d86bd7d435ce88e99f4abee8ab95a336d47dc22
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/292960
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39294}
This commit is contained in:
Harald Alvestrand 2023-02-10 11:28:04 +00:00 committed by WebRTC LUCI CQ
parent eccd93e892
commit 5ad491ec87
5 changed files with 23 additions and 17 deletions

View file

@ -1092,7 +1092,7 @@ PeerConnection::AddTransceiver(
if (parameters.encodings.size() > 1 && num_rids == 0) {
rtc::UniqueStringGenerator rid_generator;
for (RtpEncodingParameters& encoding : parameters.encodings) {
encoding.rid = rid_generator();
encoding.rid = rid_generator.GenerateString();
}
}

View file

@ -117,7 +117,7 @@ std::vector<SimulcastLayer> CreateLayers(int num_layers, bool active) {
rtc::UniqueStringGenerator rid_generator;
std::vector<std::string> rids;
for (int i = 0; i < num_layers; ++i) {
rids.push_back(rid_generator());
rids.push_back(rid_generator.GenerateString());
}
return CreateLayers(rids, active);
}

View file

@ -44,7 +44,9 @@ class UniqueNumberGenerator {
// If there are no available numbers to generate, this method will fail
// with an `RTC_CHECK`.
TIntegral GenerateNumber();
TIntegral operator()() { return GenerateNumber(); }
// Alias for GenerateId, used for allowing typed testing
TIntegral Generate() { return GenerateNumber(); }
// Adds an id that this generator should no longer generate.
// Return value indicates whether the ID was hitherto unknown.
@ -74,7 +76,9 @@ class UniqueRandomIdGenerator {
// This method becomes more expensive with each use, as the probability of
// collision for the randomly generated numbers increases.
uint32_t GenerateId();
uint32_t operator()() { return GenerateId(); }
// Alias for GenerateId, used for allowing typed testing
uint32_t Generate() { return GenerateId(); }
// Adds an id that this generator should no longer generate.
// Return value indicates whether the ID was hitherto unknown.
@ -100,7 +104,8 @@ class UniqueStringGenerator {
~UniqueStringGenerator();
std::string GenerateString();
std::string operator()() { return GenerateString(); }
// Alias for GenerateString, used for allowing typed testing
std::string Generate() { return GenerateString(); }
// Adds an id that this generator should no longer generate.
// Return value indicates whether the ID was hitherto unknown.

View file

@ -62,7 +62,7 @@ TYPED_TEST(UniqueIdGeneratorTest, ElementsDoNotRepeat) {
Generator generator;
std::vector<typename Generator::value_type> values;
for (size_t i = 0; i < num_elements; i++) {
values.push_back(generator());
values.push_back(generator.Generate());
}
EXPECT_EQ(num_elements, values.size());
@ -78,7 +78,7 @@ TYPED_TEST(UniqueIdGeneratorTest, KnownElementsAreNotGenerated) {
Generator generator1;
std::vector<typename Generator::value_type> known_values;
for (size_t i = 0; i < num_elements; i++) {
known_values.push_back(generator1());
known_values.push_back(generator1.Generate());
}
EXPECT_EQ(num_elements, known_values.size());
@ -87,7 +87,7 @@ TYPED_TEST(UniqueIdGeneratorTest, KnownElementsAreNotGenerated) {
std::vector<typename Generator::value_type> values;
for (size_t i = 0; i < num_elements; i++) {
values.push_back(generator2());
values.push_back(generator2.Generate());
}
EXPECT_THAT(values, ::testing::SizeIs(num_elements));
absl::c_sort(values);
@ -105,7 +105,7 @@ TYPED_TEST(UniqueIdGeneratorTest, AddedElementsAreNotGenerated) {
Generator generator1;
std::vector<typename Generator::value_type> known_values;
for (size_t i = 0; i < num_elements; i++) {
known_values.push_back(generator1());
known_values.push_back(generator1.Generate());
}
EXPECT_EQ(num_elements, known_values.size());
@ -118,7 +118,7 @@ TYPED_TEST(UniqueIdGeneratorTest, AddedElementsAreNotGenerated) {
std::vector<typename Generator::value_type> values;
for (size_t i = 0; i < num_elements; i++) {
values.push_back(generator2());
values.push_back(generator2.Generate());
}
EXPECT_THAT(values, ::testing::SizeIs(num_elements));
absl::c_sort(values);
@ -134,7 +134,7 @@ TYPED_TEST(UniqueIdGeneratorTest, AddKnownIdOnNewIdReturnsTrue) {
rtc::InitRandom(0);
Generator generator1;
const typename Generator::value_type id = generator1();
const typename Generator::value_type id = generator1.Generate();
rtc::InitRandom(0);
Generator generator2;
@ -146,7 +146,7 @@ TYPED_TEST(UniqueIdGeneratorTest, AddKnownIdCalledAgainForSameIdReturnsFalse) {
rtc::InitRandom(0);
Generator generator1;
const typename Generator::value_type id = generator1();
const typename Generator::value_type id = generator1.Generate();
rtc::InitRandom(0);
Generator generator2;
@ -160,7 +160,7 @@ TYPED_TEST(UniqueIdGeneratorTest,
rtc::InitRandom(0);
Generator generator1;
const typename Generator::value_type id = generator1();
const typename Generator::value_type id = generator1.Generate();
std::vector<typename Generator::value_type> known_values = {id};
rtc::InitRandom(0);
@ -182,7 +182,7 @@ TEST(UniqueNumberGenerator, UsedOnSecondaryThread) {
ASSERT_NE(current_tq, webrtc::TaskQueueBase::Current());
// Generating an id should be fine in this context.
generator.GenerateNumber();
generator.Generate();
}
#if RTC_DCHECK_IS_ON && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID)
@ -196,13 +196,13 @@ TEST(UniqueNumberGeneratorDeathTest, FailsWhenUsedInWrongContext) {
FakeTaskQueue initial_fake_task_queue;
// Generate an ID on the current thread. This causes the generator to attach
// to the current thread context.
generator.GenerateNumber();
generator.Generate();
// Instantiate a fake task queue that will register itself as the current tq.
FakeTaskQueue fake_task_queue;
// Attempting to generate an id should now trigger a dcheck.
EXPECT_DEATH(generator.GenerateNumber(), "");
EXPECT_DEATH(generator.Generate(), "");
}
#endif

View file

@ -3786,7 +3786,8 @@ class PacingFactorObserver : public test::SendTest {
}
// Want send side, not present by default, so add it.
send_config->rtp.extensions.emplace_back(
RtpExtension::kTransportSequenceNumberUri, unique_id_generator());
RtpExtension::kTransportSequenceNumberUri,
unique_id_generator.GenerateNumber());
}
// ALR only enabled for screenshare.