diff options
author | Yury Selivanov <yury@magic.io> | 2016-06-08 12:48:15 -0400 |
---|---|---|
committer | Yury Selivanov <yury@magic.io> | 2016-06-08 12:48:15 -0400 |
commit | 55c5084223d0a91777f6ff48e1b5e1dd7e4ae09d (patch) | |
tree | 929acf2f0e1f0af40cb43594696c2797b02b8e3c /Doc | |
parent | Issue #27136: Fix DNS static resolution; don't use it in getaddrinfo (diff) | |
download | cpython-55c5084223d0a91777f6ff48e1b5e1dd7e4ae09d.tar.gz cpython-55c5084223d0a91777f6ff48e1b5e1dd7e4ae09d.tar.bz2 cpython-55c5084223d0a91777f6ff48e1b5e1dd7e4ae09d.zip |
Issue #27136: Update asyncio docs
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/asyncio-eventloop.rst | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index 1e9714216bd..7ec3aa106e2 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 |