Avoid a jump to the executor to unpack an ip address string (#26)

Avoids executor overload on Home Assistant startup

2021-02-13 18:31:38 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.211.201', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.210.102', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.211.180', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.210.100', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.214.225', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.213.240', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.213.168', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.210.29', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.209.89', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.209.250', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.214.56', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:31:51 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.209.137', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:32:04 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.209.89', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:32:14 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.209.89', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:32:23 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.209.89', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:32:58 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.209.89', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:33:10 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.209.89', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
2021-02-13 18:33:19 DEBUG (MainThread) [homeassistant.runner] Calling executor with function: <function getaddrinfo at 0x7f00184c8ca0>, args: ('10.45.209.89', 6053, <AddressFamily.AF_INET: 2>, 0, 6, 0), kwargs: {}
This commit is contained in:
J. Nick Koston 2021-02-15 04:58:11 -10:00 committed by GitHub
parent 10b0d82a23
commit 96b75c5337
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -37,6 +37,14 @@ def _bytes_to_varuint(value: bytes) -> Optional[int]:
async def resolve_ip_address_getaddrinfo(eventloop: asyncio.events.AbstractEventLoop,
host: str, port: int) -> Tuple[Any, ...]:
try:
socket.inet_aton(host)
except OSError:
pass
else:
return (host, port)
try:
res = await eventloop.getaddrinfo(host, port, family=socket.AF_INET,
proto=socket.IPPROTO_TCP)