feat: speed up service browser queries when browsing many types (#1311) · python-zeroconf/python-zeroconf@d192d33

@@ -1010,32 +1010,34 @@ async def test_generate_service_query_suppress_duplicate_questions():

10101010

assert zc.question_history.suppresses(question, now, other_known_answers)

1011101110121012

# The known answer list is different, do not suppress

1013-

outs = _services_browser.generate_service_query(zc, now, [name], multicast=True)

1013+

outs = _services_browser.generate_service_query(zc, now, [name], multicast=True, question_type=None)

10141014

assert outs

1015101510161016

zc.cache.async_add_records([answer])

10171017

# The known answer list contains all the asked questions in the history

10181018

# we should suppress

101910191020-

outs = _services_browser.generate_service_query(zc, now, [name], multicast=True)

1020+

outs = _services_browser.generate_service_query(zc, now, [name], multicast=True, question_type=None)

10211021

assert not outs

1022102210231023

# We do not suppress once the question history expires

1024-

outs = _services_browser.generate_service_query(zc, now + 1000, [name], multicast=True)

1024+

outs = _services_browser.generate_service_query(

1025+

zc, now + 1000, [name], multicast=True, question_type=None

1026+

)

10251027

assert outs

1026102810271029

# We do not suppress QU queries ever

1028-

outs = _services_browser.generate_service_query(zc, now, [name], multicast=False)

1030+

outs = _services_browser.generate_service_query(zc, now, [name], multicast=False, question_type=None)

10291031

assert outs

1030103210311033

zc.question_history.async_expire(now + 2000)

10321034

# No suppression after clearing the history

1033-

outs = _services_browser.generate_service_query(zc, now, [name], multicast=True)

1035+

outs = _services_browser.generate_service_query(zc, now, [name], multicast=True, question_type=None)

10341036

assert outs

1035103710361038

# The previous query we just sent is still remembered and

10371039

# the next one is suppressed

1038-

outs = _services_browser.generate_service_query(zc, now, [name], multicast=True)

1040+

outs = _services_browser.generate_service_query(zc, now, [name], multicast=True, question_type=None)

10391041

assert not outs

1040104210411043

await aiozc.async_close()