Skip to content

Commit 4c7029e

Browse files
andy31415Alami-Amine
authored andcommitted
[MinMdns] do no stop a browse operation after the first result (project-chip#33808)
* Do not stop minmdns browse after the first result found * Complete browsing for testing active resolve attempts * Fix test to be clearer - remove unused data
1 parent 39dc47e commit 4c7029e

4 files changed

+2
-36
lines changed

src/lib/dnssd/ActiveResolveAttempts.cpp

-24
Original file line numberDiff line numberDiff line change
@@ -53,30 +53,6 @@ void ActiveResolveAttempts::Complete(const PeerId & peerId)
5353
#endif
5454
}
5555

56-
void ActiveResolveAttempts::CompleteCommissioner(const chip::Dnssd::DiscoveredNodeData & data)
57-
{
58-
for (auto & item : mRetryQueue)
59-
{
60-
if (item.attempt.Matches(data, chip::Dnssd::DiscoveryType::kCommissionerNode))
61-
{
62-
item.attempt.Clear();
63-
return;
64-
}
65-
}
66-
}
67-
68-
void ActiveResolveAttempts::CompleteCommissionable(const chip::Dnssd::DiscoveredNodeData & data)
69-
{
70-
for (auto & item : mRetryQueue)
71-
{
72-
if (item.attempt.Matches(data, chip::Dnssd::DiscoveryType::kCommissionableNode))
73-
{
74-
item.attempt.Clear();
75-
return;
76-
}
77-
}
78-
}
79-
8056
bool ActiveResolveAttempts::HasBrowseFor(chip::Dnssd::DiscoveryType type) const
8157
{
8258
for (auto & item : mRetryQueue)

src/lib/dnssd/ActiveResolveAttempts.h

-2
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,6 @@ class ActiveResolveAttempts
250250

251251
/// Mark a resolution as a success, removing it from the internal list
252252
void Complete(const chip::PeerId & peerId);
253-
void CompleteCommissioner(const chip::Dnssd::DiscoveredNodeData & data);
254-
void CompleteCommissionable(const chip::Dnssd::DiscoveredNodeData & data);
255253
void CompleteIpResolution(SerializedQNameIterator targetHostName);
256254

257255
/// Mark all browse-type scheduled attemptes as a success, removing them

src/lib/dnssd/Resolver_ImplMinimalMdns.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -424,11 +424,9 @@ void MinMdnsResolver::AdvancePendingResolverStates()
424424
{
425425
case IncrementalResolver::ServiceNameType::kCommissioner:
426426
discoveredNodeIsRelevant = mActiveResolves.HasBrowseFor(chip::Dnssd::DiscoveryType::kCommissionerNode);
427-
mActiveResolves.CompleteCommissioner(nodeData);
428427
break;
429428
case IncrementalResolver::ServiceNameType::kCommissionable:
430429
discoveredNodeIsRelevant = mActiveResolves.HasBrowseFor(chip::Dnssd::DiscoveryType::kCommissionableNode);
431-
mActiveResolves.CompleteCommissionable(nodeData);
432430
break;
433431
default:
434432
ChipLogError(Discovery, "Unexpected type for browse data parsing");

src/lib/dnssd/tests/TestActiveResolveAttempts.cpp

+2-8
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,7 @@ TEST(TestActiveResolveAttempts, TestSingleBrowseAddRemove)
126126
EXPECT_EQ(attempts.GetTimeUntilNextExpectedResponse(), std::make_optional<Timeout>(1900_ms32));
127127

128128
// once complete, nothing to schedule
129-
Dnssd::DiscoveredNodeData data;
130-
data.Set<chip::Dnssd::CommissionNodeData>();
131-
data.Get<chip::Dnssd::CommissionNodeData>().longDiscriminator = 1234;
132-
attempts.CompleteCommissionable(data);
129+
attempts.CompleteAllBrowses();
133130
EXPECT_FALSE(attempts.GetTimeUntilNextExpectedResponse().has_value());
134131
EXPECT_FALSE(attempts.NextScheduled().has_value());
135132
}
@@ -377,10 +374,7 @@ TEST(TestActiveResolveAttempts, TestCombination)
377374
// Complete all, we should see no more scheduled.
378375
attempts.Complete(MakePeerId(2));
379376
attempts.Complete(MakePeerId(1));
380-
Dnssd::DiscoveredNodeData data;
381-
data.Set<chip::Dnssd::CommissionNodeData>();
382-
data.Get<chip::Dnssd::CommissionNodeData>().longDiscriminator = 1234;
383-
attempts.CompleteCommissionable(data);
377+
attempts.CompleteAllBrowses();
384378

385379
EXPECT_FALSE(attempts.GetTimeUntilNextExpectedResponse().has_value());
386380
EXPECT_FALSE(attempts.NextScheduled().has_value());

0 commit comments

Comments
 (0)