feat: speed up record updates (#1301) · python-zeroconf/python-zeroconf@d2af6a0

@@ -139,7 +139,7 @@ def _has_mcast_within_one_quarter_ttl(self, record: DNSRecord) -> bool:

139139

if TYPE_CHECKING:

140140

record = cast(_UniqueRecordsType, record)

141141

maybe_entry = self._cache.async_get_unique(record)

142-

return bool(maybe_entry and maybe_entry.is_recent(self._now))

142+

return bool(maybe_entry is not None and maybe_entry.is_recent(self._now) is True)

143143144144

def _has_mcast_record_in_last_second(self, record: DNSRecord) -> bool:

145145

"""Check if an answer was seen in the last second.

@@ -149,7 +149,7 @@ def _has_mcast_record_in_last_second(self, record: DNSRecord) -> bool:

149149

if TYPE_CHECKING:

150150

record = cast(_UniqueRecordsType, record)

151151

maybe_entry = self._cache.async_get_unique(record)

152-

return bool(maybe_entry and self._now - maybe_entry.created < _ONE_SECOND)

152+

return bool(maybe_entry is not None and self._now - maybe_entry.created < _ONE_SECOND)

153153154154155155

class QueryHandler:

@@ -174,7 +174,7 @@ def _add_service_type_enumeration_query_answers(

174174

dns_pointer = DNSPointer(

175175

_SERVICE_TYPE_ENUMERATION_NAME, _TYPE_PTR, _CLASS_IN, _DNS_OTHER_TTL, stype, 0.0

176176

)

177-

if not known_answers.suppresses(dns_pointer):

177+

if known_answers.suppresses(dns_pointer) is False:

178178

answer_set[dns_pointer] = set()

179179180180

def _add_pointer_answers(

@@ -185,7 +185,7 @@ def _add_pointer_answers(

185185

# Add recommended additional answers according to

186186

# https://tools.ietf.org/html/rfc6763#section-12.1.

187187

dns_pointer = service._dns_pointer(None)

188-

if known_answers.suppresses(dns_pointer):

188+

if known_answers.suppresses(dns_pointer) is True:

189189

continue

190190

answer_set[dns_pointer] = {

191191

service._dns_service(None),

@@ -208,7 +208,7 @@ def _add_address_answers(

208208

seen_types.add(dns_address.type)

209209

if dns_address.type != type_:

210210

additionals.add(dns_address)

211-

elif not known_answers.suppresses(dns_address):

211+

elif known_answers.suppresses(dns_address) is False:

212212

answers.append(dns_address)

213213

missing_types: Set[int] = _ADDRESS_RECORD_TYPES - seen_types

214214

if answers:

@@ -248,11 +248,11 @@ def _answer_question(

248248

# Add recommended additional answers according to

249249

# https://tools.ietf.org/html/rfc6763#section-12.2.

250250

dns_service = service._dns_service(None)

251-

if not known_answers.suppresses(dns_service):

251+

if known_answers.suppresses(dns_service) is False:

252252

answer_set[dns_service] = service._get_address_and_nsec_records(None)

253253

if type_ in (_TYPE_TXT, _TYPE_ANY):

254254

dns_text = service._dns_text(None)

255-

if not known_answers.suppresses(dns_text):

255+

if known_answers.suppresses(dns_text) is False:

256256

answer_set[dns_text] = set()

257257258258

return answer_set