]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #27136: Update asyncio docs
authorYury Selivanov <yury@magic.io>
Wed, 8 Jun 2016 16:48:15 +0000 (12:48 -0400)
committerYury Selivanov <yury@magic.io>
Wed, 8 Jun 2016 16:48:15 +0000 (12:48 -0400)
Doc/library/asyncio-eventloop.rst

index 1e9714216bdd318005f46b420cf47ca81587b79d..7ec3aa106e265405c2b4da5737e9dfb10d00a006 100644 (file)
@@ -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