6363 _TYPE_TXT ,
6464)
6565
66+ _IPVersion_All_value = IPVersion .All .value
67+ _IPVersion_V4Only_value = IPVersion .V4Only .value
6668# https://datatracker.ietf.org/doc/html/rfc6762#section-5.2
6769# The most common case for calling ServiceInfo is from a
6870# ServiceBrowser. After the first request we add a few random
@@ -245,25 +247,16 @@ def addresses_by_version(self, version: IPVersion) -> List[bytes]:
245247 This means the first address will always be the most recently added
246248 address of the given IP version.
247249 """
248- if version == IPVersion .All :
250+ version_value = version .value
251+ if version_value == _IPVersion_All_value :
249252 return [
250253 * (addr .packed for addr in self ._ipv4_addresses ),
251254 * (addr .packed for addr in self ._ipv6_addresses ),
252255 ]
253- if version == IPVersion . V4Only :
256+ if version_value == _IPVersion_V4Only_value :
254257 return [addr .packed for addr in self ._ipv4_addresses ]
255258 return [addr .packed for addr in self ._ipv6_addresses ]
256259
257- def _ip_addresses_by_version_value (
258- self , version_value : int
259- ) -> Union [List [ipaddress .IPv4Address ], List [ipaddress .IPv6Address ], List [ipaddress ._BaseAddress ]]:
260- """Backend for addresses_by_version that uses the raw value."""
261- if version_value == IPVersion .All .value :
262- return [* self ._ipv4_addresses , * self ._ipv6_addresses ]
263- if version_value == IPVersion .V4Only .value :
264- return self ._ipv4_addresses
265- return self ._ipv6_addresses
266-
267260 def ip_addresses_by_version (
268261 self , version : IPVersion
269262 ) -> Union [List [ipaddress .IPv4Address ], List [ipaddress .IPv6Address ], List [ipaddress ._BaseAddress ]]:
@@ -277,6 +270,16 @@ def ip_addresses_by_version(
277270 """
278271 return self ._ip_addresses_by_version_value (version .value )
279272
273+ def _ip_addresses_by_version_value (
274+ self , version_value : int
275+ ) -> Union [List [ipaddress .IPv4Address ], List [ipaddress .IPv6Address ], List [ipaddress ._BaseAddress ]]:
276+ """Backend for addresses_by_version that uses the raw value."""
277+ if version_value == _IPVersion_All_value :
278+ return [* self ._ipv4_addresses , * self ._ipv6_addresses ]
279+ if version_value == _IPVersion_V4Only_value :
280+ return self ._ipv4_addresses
281+ return self ._ipv6_addresses
282+
280283 def parsed_addresses (self , version : IPVersion = IPVersion .All ) -> List [str ]:
281284 """List addresses in their parsed string form.
282285
0 commit comments