cpython/Lib/asyncio
Victor Stinner 2fc2313038 asyncio: Only call _check_resolved_address() in debug mode
* _check_resolved_address() is implemented with getaddrinfo() which is slow
* If available, use socket.inet_pton() instead of socket.getaddrinfo(), because
  it is much faster

Microbenchmark (timeit) on Fedora 21 (Python 3.4, Linux 3.17, glibc 2.20) to
validate the IPV4 address "127.0.0.1" or the IPv6 address "::1":

* getaddrinfo() 10.4 usec per loop
* inet_pton(): 0.285 usec per loop

On glibc older than 2.14, getaddrinfo() always requests the list of all local
IP addresses to the kernel (using a NETLINK socket). getaddrinfo() has other
known issues, it's better to avoid it when it is possible.
2015-02-04 14:51:23 +01:00
..
__init__.py Issue #23046: Expose the BaseEventLoop class in the asyncio namespace 2015-01-06 01:03:58 +01:00
base_events.py asyncio: Only call _check_resolved_address() in debug mode 2015-02-04 14:51:23 +01:00
base_subprocess.py Issue #23347, asyncio: send_signal(), terminate(), kill() don't check if the 2015-01-30 01:20:44 +01:00
constants.py asyncio: Pause accepting whenever accept() returns certain errors. Fixes asyncio issue #78. 2013-11-01 14:12:50 -07:00
coroutines.py asyncio: Truncate to 80 columns 2015-01-09 00:09:10 +01:00
events.py Issue #23074: asyncio.get_event_loop() now raises an exception if the thread 2014-12-18 01:20:10 +01:00
futures.py Issue #23243, asyncio: Emit a ResourceWarning when an event loop or a transport 2015-01-29 17:50:58 +01:00
locks.py Issue #22369: Change "context manager protocol" to "context management protocol". 2014-09-10 23:43:41 +03:00
log.py
proactor_events.py asyncio: Only call _check_resolved_address() in debug mode 2015-02-04 14:51:23 +01:00
protocols.py asyncio doc: document Protocol state machine 2015-01-29 13:33:15 +01:00
queues.py asyncio, Tulip issue 221: Fix doc of QueueEmpty and QueueFull 2015-02-03 15:09:24 +01:00
selector_events.py asyncio: Only call _check_resolved_address() in debug mode 2015-02-04 14:51:23 +01:00
sslproto.py Issue #23243, asyncio: Emit a ResourceWarning when an event loop or a transport 2015-01-29 17:50:58 +01:00
streams.py Backout changeset 6ab2575bc12b 2015-01-15 21:50:19 +01:00
subprocess.py Issue #23347, asyncio: Make BaseSubprocessTransport.wait() private 2015-01-30 00:16:14 +01:00
tasks.py asyncio: sync with Tulip 2015-01-29 14:15:19 +01:00
test_utils.py Issue #23353, asyncio: Workaround CPython bug #23353 2015-02-02 18:36:31 +01:00
transports.py asyncio: Move loop attribute to _FlowControlMixin 2014-11-05 15:27:41 +01:00
unix_events.py Issue #23353, asyncio: Workaround CPython bug #23353 2015-02-02 18:36:31 +01:00
windows_events.py Issue #23353, asyncio: Workaround CPython bug #23353 2015-02-02 18:36:31 +01:00
windows_utils.py Issue #23243, asyncio: Emit a ResourceWarning when an event loop or a transport 2015-01-29 17:50:58 +01:00