From 56ef90865189c01d2207abcc5e2efe3a7a022fa1 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 12 Nov 2023 12:32:57 -0600 Subject: [PATCH] feat: small speed up to process incoming packets (#1309) --- src/zeroconf/_core.py | 2 +- src/zeroconf/_listener.pxd | 10 ++++++++++ src/zeroconf/_listener.py | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/zeroconf/_core.py b/src/zeroconf/_core.py index 40375484..7f60a695 100644 --- a/src/zeroconf/_core.py +++ b/src/zeroconf/_core.py @@ -573,7 +573,7 @@ def handle_assembled_query( addr: str, port: int, transport: _WrappedTransport, - v6_flow_scope: Union[Tuple[()], Tuple[int, int]] = (), + v6_flow_scope: Union[Tuple[()], Tuple[int, int]], ) -> None: """Respond to a (re)assembled query. diff --git a/src/zeroconf/_listener.pxd b/src/zeroconf/_listener.pxd index ec877c78..729e0de6 100644 --- a/src/zeroconf/_listener.pxd +++ b/src/zeroconf/_listener.pxd @@ -37,6 +37,7 @@ cdef class AsyncListener: cdef _cancel_any_timers_for_addr(self, object addr) + @cython.locals(incoming=DNSIncoming, deferred=list) cpdef handle_query_or_defer( self, DNSIncoming msg, @@ -45,3 +46,12 @@ cdef class AsyncListener: object transport, tuple v6_flow_scope ) + + cpdef _respond_query( + self, + object msg, + object addr, + object port, + object transport, + tuple v6_flow_scope + ) diff --git a/src/zeroconf/_listener.py b/src/zeroconf/_listener.py index 07d059eb..700029e1 100644 --- a/src/zeroconf/_listener.py +++ b/src/zeroconf/_listener.py @@ -220,7 +220,7 @@ def _respond_query( addr: _str, port: _int, transport: _WrappedTransport, - v6_flow_scope: Union[Tuple[()], Tuple[int, int]] = (), + v6_flow_scope: Union[Tuple[()], Tuple[int, int]], ) -> None: """Respond to a query and reassemble any truncated deferred packets.""" self._cancel_any_timers_for_addr(addr)