Commit d84fd73d authored by Victor Stinner's avatar Victor Stinner

Issue #22063: Fix asyncio documentation of socket and pipe operations regarding

to non-blocking mode. The non-blocking mode does not matter when using a
ProactorEventLoop, only for SelectorEventLoop.
parent 52bb949f
...@@ -336,7 +336,8 @@ Low-level socket operations ...@@ -336,7 +336,8 @@ Low-level socket operations
representing the data received. The maximum amount of data to be received representing the data received. The maximum amount of data to be received
at once is specified by *nbytes*. at once is specified by *nbytes*.
The socket *sock* must be non-blocking. With :class:`SelectorEventLoop` event loop, the socket *sock* must be
non-blocking.
This method is a :ref:`coroutine <coroutine>`. This method is a :ref:`coroutine <coroutine>`.
...@@ -352,7 +353,8 @@ Low-level socket operations ...@@ -352,7 +353,8 @@ Low-level socket operations
an exception is raised, and there is no way to determine how much data, if an exception is raised, and there is no way to determine how much data, if
any, was successfully processed by the receiving end of the connection. any, was successfully processed by the receiving end of the connection.
The socket *sock* must be non-blocking. With :class:`SelectorEventLoop` event loop, the socket *sock* must be
non-blocking.
This method is a :ref:`coroutine <coroutine>`. This method is a :ref:`coroutine <coroutine>`.
...@@ -370,7 +372,8 @@ Low-level socket operations ...@@ -370,7 +372,8 @@ Low-level socket operations
:py:data:`~socket.AF_INET` and :py:data:`~socket.AF_INET6` address families. :py:data:`~socket.AF_INET` and :py:data:`~socket.AF_INET6` address families.
Use :meth:`getaddrinfo` to resolve the hostname asynchronously. Use :meth:`getaddrinfo` to resolve the hostname asynchronously.
The socket *sock* must be non-blocking. With :class:`SelectorEventLoop` event loop, the socket *sock* must be
non-blocking.
This method is a :ref:`coroutine <coroutine>`. This method is a :ref:`coroutine <coroutine>`.
...@@ -418,13 +421,16 @@ Connect pipes ...@@ -418,13 +421,16 @@ Connect pipes
.. method:: BaseEventLoop.connect_read_pipe(protocol_factory, pipe) .. method:: BaseEventLoop.connect_read_pipe(protocol_factory, pipe)
Register read pipe in eventloop. Set the *pipe* to non-blocking mode. Register read pipe in eventloop.
*protocol_factory* should instantiate object with :class:`Protocol` *protocol_factory* should instantiate object with :class:`Protocol`
interface. *pipe* is a :term:`file-like object <file object>`. interface. *pipe* is a :term:`file-like object <file object>`.
Return pair ``(transport, protocol)``, where *transport* supports the Return pair ``(transport, protocol)``, where *transport* supports the
:class:`ReadTransport` interface. :class:`ReadTransport` interface.
With :class:`SelectorEventLoop` event loop, the *pipe* is set to
non-blocking mode.
This method is a :ref:`coroutine <coroutine>`. This method is a :ref:`coroutine <coroutine>`.
.. method:: BaseEventLoop.connect_write_pipe(protocol_factory, pipe) .. method:: BaseEventLoop.connect_write_pipe(protocol_factory, pipe)
...@@ -432,10 +438,13 @@ Connect pipes ...@@ -432,10 +438,13 @@ Connect pipes
Register write pipe in eventloop. Register write pipe in eventloop.
*protocol_factory* should instantiate object with :class:`BaseProtocol` *protocol_factory* should instantiate object with :class:`BaseProtocol`
interface. Pipe is file-like object already switched to nonblocking. interface. *pipe* is file-like object.
Return pair (transport, protocol), where transport support Return pair (transport, protocol), where transport support
:class:`WriteTransport` interface. :class:`WriteTransport` interface.
With :class:`SelectorEventLoop` event loop, the *pipe* is set to
non-blocking mode.
This method is a :ref:`coroutine <coroutine>`. This method is a :ref:`coroutine <coroutine>`.
.. seealso:: .. seealso::
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment