Skip to content

Commit ecad4e8

Browse files
authored
Ensure outgoing ServiceBrowser questions are seen by the question history (#790)
1 parent 5d23628 commit ecad4e8

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

tests/services/test_browser.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1045,4 +1045,15 @@ async def test_generate_service_query_suppress_duplicate_questions():
10451045
# We do not suppress QU queries ever
10461046
outs = _services_browser.generate_service_query(zc, now, [name], multicast=False)
10471047
assert outs
1048+
1049+
zc.question_history.async_expire(now + 1000)
1050+
# No suppression after clearing the history
1051+
outs = _services_browser.generate_service_query(zc, now, [name], multicast=True)
1052+
assert outs
1053+
1054+
# The previous query we just sent is still remembered and
1055+
# the next one is suppressed
1056+
outs = _services_browser.generate_service_query(zc, now, [name], multicast=True)
1057+
assert not outs
1058+
10481059
await aiozc.async_close()

zeroconf/_services/browser.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ def generate_service_query(
151151
log.debug("Asking %s was suppressed by the question history", question)
152152
continue
153153
questions_with_known_answers[question] = known_answers
154+
zc.question_history.add_question_at_time(question, now, cast(Set[DNSRecord], known_answers))
154155

155156
return _group_ptr_queries_with_known_answers(now, multicast, questions_with_known_answers)
156157

0 commit comments

Comments
 (0)