feat: reduce overhead to process incoming updates by avoiding the han… · python-zeroconf/python-zeroconf@5e31f0a

@@ -903,7 +903,7 @@ async def test_release_wait_when_new_recorded_added():

903903

)

904904

await aiozc.zeroconf.async_wait_for_start()

905905

await asyncio.sleep(0)

906-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

906+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

907907

assert await asyncio.wait_for(task, timeout=2)

908908

assert info.addresses == [b'\x7f\x00\x00\x01']

909909

await aiozc.async_close()

@@ -966,7 +966,7 @@ async def test_port_changes_are_seen():

966966

)

967967

await aiozc.zeroconf.async_wait_for_start()

968968

await asyncio.sleep(0)

969-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

969+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

970970971971

generated = r.DNSOutgoing(const._FLAGS_QR_RESPONSE)

972972

generated.add_answer_at_time(

@@ -982,7 +982,7 @@ async def test_port_changes_are_seen():

982982

),

983983

0,

984984

)

985-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

985+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

986986987987

info = ServiceInfo(type_, registration_name, 80, 10, 10, desc, host)

988988

await info.async_request(aiozc.zeroconf, timeout=200)

@@ -1049,7 +1049,7 @@ async def test_port_changes_are_seen_with_directed_request():

10491049

)

10501050

await aiozc.zeroconf.async_wait_for_start()

10511051

await asyncio.sleep(0)

1052-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1052+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

1053105310541054

generated = r.DNSOutgoing(const._FLAGS_QR_RESPONSE)

10551055

generated.add_answer_at_time(

@@ -1065,7 +1065,7 @@ async def test_port_changes_are_seen_with_directed_request():

10651065

),

10661066

0,

10671067

)

1068-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1068+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

1069106910701070

info = ServiceInfo(type_, registration_name, 80, 10, 10, desc, host)

10711071

await info.async_request(aiozc.zeroconf, timeout=200, addr="127.0.0.1", port=5353)

@@ -1131,7 +1131,7 @@ async def test_ipv4_changes_are_seen():

11311131

)

11321132

await aiozc.zeroconf.async_wait_for_start()

11331133

await asyncio.sleep(0)

1134-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1134+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

11351135

info = ServiceInfo(type_, registration_name)

11361136

info.load_from_cache(aiozc.zeroconf)

11371137

assert info.addresses_by_version(IPVersion.V4Only) == [b'\x7f\x00\x00\x01']

@@ -1147,7 +1147,7 @@ async def test_ipv4_changes_are_seen():

11471147

),

11481148

0,

11491149

)

1150-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1150+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

1151115111521152

info = ServiceInfo(type_, registration_name)

11531153

info.load_from_cache(aiozc.zeroconf)

@@ -1213,7 +1213,7 @@ async def test_ipv6_changes_are_seen():

12131213

)

12141214

await aiozc.zeroconf.async_wait_for_start()

12151215

await asyncio.sleep(0)

1216-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1216+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

12171217

info = ServiceInfo(type_, registration_name)

12181218

info.load_from_cache(aiozc.zeroconf)

12191219

assert info.addresses_by_version(IPVersion.V6Only) == [

@@ -1231,7 +1231,7 @@ async def test_ipv6_changes_are_seen():

12311231

),

12321232

0,

12331233

)

1234-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1234+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

1235123512361236

info = ServiceInfo(type_, registration_name)

12371237

info.load_from_cache(aiozc.zeroconf)

@@ -1295,7 +1295,7 @@ async def test_bad_ip_addresses_ignored_in_cache():

1295129512961296

await aiozc.zeroconf.async_wait_for_start()

12971297

await asyncio.sleep(0)

1298-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1298+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

12991299

info = ServiceInfo(type_, registration_name)

13001300

info.load_from_cache(aiozc.zeroconf)

13011301

assert info.addresses_by_version(IPVersion.V4Only) == [b'\x7f\x00\x00\x01']

@@ -1354,7 +1354,7 @@ async def test_service_name_change_as_seen_has_ip_in_cache():

13541354

)

13551355

await aiozc.zeroconf.async_wait_for_start()

13561356

await asyncio.sleep(0)

1357-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1357+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

1358135813591359

info = ServiceInfo(type_, registration_name)

13601360

await info.async_request(aiozc.zeroconf, timeout=200)

@@ -1374,7 +1374,7 @@ async def test_service_name_change_as_seen_has_ip_in_cache():

13741374

),

13751375

0,

13761376

)

1377-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1377+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

1378137813791379

info = ServiceInfo(type_, registration_name)

13801380

await info.async_request(aiozc.zeroconf, timeout=200)

@@ -1426,7 +1426,7 @@ async def test_service_name_change_as_seen_ip_not_in_cache():

14261426

)

14271427

await aiozc.zeroconf.async_wait_for_start()

14281428

await asyncio.sleep(0)

1429-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1429+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

1430143014311431

info = ServiceInfo(type_, registration_name)

14321432

await info.async_request(aiozc.zeroconf, timeout=200)

@@ -1456,7 +1456,7 @@ async def test_service_name_change_as_seen_ip_not_in_cache():

14561456

),

14571457

0,

14581458

)

1459-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1459+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

1460146014611461

info = ServiceInfo(type_, registration_name)

14621462

await info.async_request(aiozc.zeroconf, timeout=200)

@@ -1530,7 +1530,7 @@ async def test_release_wait_when_new_recorded_added_concurrency():

15301530

await asyncio.sleep(0)

15311531

for task in tasks:

15321532

assert not task.done()

1533-

aiozc.zeroconf.handle_response(r.DNSIncoming(generated.packets()[0]))

1533+

aiozc.zeroconf.record_manager.async_updates_from_response(r.DNSIncoming(generated.packets()[0]))

15341534

_, pending = await asyncio.wait(tasks, timeout=2)

15351535

assert not pending

15361536

assert info.addresses == [b'\x7f\x00\x00\x01']