From af9ef4b1b6849b0ac1615540087d36b9d07f1e34 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 23 Apr 2023 14:33:57 -0500 Subject: [PATCH 1/2] feat: speed up incoming parser Imports dns objects via cimport --- src/zeroconf/_protocol/incoming.pxd | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/zeroconf/_protocol/incoming.pxd b/src/zeroconf/_protocol/incoming.pxd index 79130d8a..c2af9bab 100644 --- a/src/zeroconf/_protocol/incoming.pxd +++ b/src/zeroconf/_protocol/incoming.pxd @@ -31,6 +31,18 @@ cdef object DECODE_EXCEPTIONS cdef object IncomingDecodeError +from .._dns cimport ( + DNSAddress, + DNSEntry, + DNSHinfo, + DNSNsec, + DNSPointer, + DNSRecord, + DNSService, + DNSText, +) + + cdef class DNSIncoming: cdef bint _did_read_others From 59f2834543e972c5cdffa010f897827a30ca1abf Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 23 Apr 2023 14:42:51 -0500 Subject: [PATCH 2/2] feat: tweak --- src/zeroconf/_protocol/incoming.pxd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/zeroconf/_protocol/incoming.pxd b/src/zeroconf/_protocol/incoming.pxd index 175687f9..71d70536 100644 --- a/src/zeroconf/_protocol/incoming.pxd +++ b/src/zeroconf/_protocol/incoming.pxd @@ -7,6 +7,7 @@ cdef cython.uint MAX_DNS_LABELS cdef cython.uint DNS_COMPRESSION_POINTER_LEN cdef cython.uint MAX_NAME_LENGTH +cdef object current_time_millis cdef cython.uint _TYPE_A cdef cython.uint _TYPE_CNAME @@ -76,6 +77,8 @@ cdef class DNSIncoming: cdef _initial_parse(self) + cdef _unpack(self, object unpacker, object length) + @cython.locals( end=cython.uint, length=cython.uint