summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYury Selivanov <yury@magic.io>2016-06-08 12:48:15 -0400
committerYury Selivanov <yury@magic.io>2016-06-08 12:48:15 -0400
commitb53d4b6a2b5c7b956a2f0f7c02cd66822febcc1e (patch)
treee02a5fe988bf612b0600d6e4e89020001018ad25
parentc6057510fab7fe10d2f98a7756e9063f2e3801a7 (diff)
downloadcpython-b53d4b6a2b5c7b956a2f0f7c02cd66822febcc1e.tar.gz
Issue #27136: Update asyncio docs
-rw-r--r--Doc/library/asyncio-eventloop.rst47
1 files changed, 24 insertions, 23 deletions
diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst
index 1e9714216b..7ec3aa106e 100644
--- a/Doc/library/asyncio-eventloop.rst
+++ b/Doc/library/asyncio-eventloop.rst
@@ -491,7 +491,10 @@ Low-level socket operations
.. coroutinemethod:: BaseEventLoop.sock_recv(sock, nbytes)
- Receive data from the socket. The return value is a bytes object
+ Receive data from the socket. Modeled after blocking
+ :meth:`socket.socket.recv` method.
+
+ The return value is a bytes object
representing the data received. The maximum amount of data to be received
at once is specified by *nbytes*.
@@ -500,13 +503,12 @@ Low-level socket operations
This method is a :ref:`coroutine <coroutine>`.
- .. seealso::
-
- The :meth:`socket.socket.recv` method.
-
.. coroutinemethod:: BaseEventLoop.sock_sendall(sock, data)
- Send data to the socket. The socket must be connected to a remote socket.
+ Send data to the socket. Modeled after blocking
+ :meth:`socket.socket.sendall` method.
+
+ The socket must be connected to a remote socket.
This method continues to send data from *data* until either all data has
been sent or an error occurs. ``None`` is returned on success. On error,
an exception is raised, and there is no way to determine how much data, if
@@ -517,35 +519,35 @@ Low-level socket operations
This method is a :ref:`coroutine <coroutine>`.
- .. seealso::
-
- The :meth:`socket.socket.sendall` method.
-
.. coroutinemethod:: BaseEventLoop.sock_connect(sock, address)
- Connect to a remote socket at *address*.
-
- The *address* must be already resolved to avoid the trap of hanging the
- entire event loop when the address requires doing a DNS lookup. For
- example, it must be an IP address, not a hostname, for
- :py:data:`~socket.AF_INET` and :py:data:`~socket.AF_INET6` address families.
- Use :meth:`getaddrinfo` to resolve the hostname asynchronously.
+ Connect to a remote socket at *address*. Modeled after
+ blocking :meth:`socket.socket.connect` method.
With :class:`SelectorEventLoop` event loop, the socket *sock* must be
non-blocking.
This method is a :ref:`coroutine <coroutine>`.
+ .. versionchanged:: 3.5.2
+ ``address`` no longer needs to be resolved. ``sock_connect``
+ will try to check if the *address* is already resolved by calling
+ :func:`socket.inet_pton`. If not,
+ :meth:`BaseEventLoop.getaddrinfo` will be used to resolve the
+ *address*.
+
.. seealso::
- The :meth:`BaseEventLoop.create_connection` method, the
- :func:`open_connection` function and the :meth:`socket.socket.connect`
- method.
+ :meth:`BaseEventLoop.create_connection`
+ and :func:`asyncio.open_connection() <open_connection>`.
.. coroutinemethod:: BaseEventLoop.sock_accept(sock)
- Accept a connection. The socket must be bound to an address and listening
+ Accept a connection. Modeled after blocking
+ :meth:`socket.socket.accept`.
+
+ The socket must be bound to an address and listening
for connections. The return value is a pair ``(conn, address)`` where *conn*
is a *new* socket object usable to send and receive data on the connection,
and *address* is the address bound to the socket on the other end of the
@@ -557,8 +559,7 @@ Low-level socket operations
.. seealso::
- The :meth:`BaseEventLoop.create_server` method, the :func:`start_server`
- function and the :meth:`socket.socket.accept` method.
+ :meth:`BaseEventLoop.create_server` and :func:`start_server`.
Resolve host name