diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-08-25 23:01:59 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-08-25 23:01:59 (GMT) |
commit | d84fd73de2823afd8da5c3e5937d51f7ecad8a34 (patch) | |
tree | af1c3e49012a0dc31f27e6550ba0241545ceac59 /Doc/library | |
parent | 52bb949fd3658957fb8719fd83183b38d9fb621c (diff) | |
download | cpython-d84fd73de2823afd8da5c3e5937d51f7ecad8a34.zip cpython-d84fd73de2823afd8da5c3e5937d51f7ecad8a34.tar.gz cpython-d84fd73de2823afd8da5c3e5937d51f7ecad8a34.tar.bz2 |
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.
Diffstat (limited to 'Doc/library')
-rw-r--r-- | Doc/library/asyncio-eventloop.rst | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index ff685bb..e9de4ad 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -336,7 +336,8 @@ Low-level socket operations representing the data received. The maximum amount of data to be received 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>`. @@ -352,7 +353,8 @@ Low-level socket operations 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. - 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>`. @@ -370,7 +372,8 @@ Low-level socket operations :py:data:`~socket.AF_INET` and :py:data:`~socket.AF_INET6` address families. 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>`. @@ -418,13 +421,16 @@ Connect pipes .. 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` interface. *pipe* is a :term:`file-like object <file object>`. Return pair ``(transport, protocol)``, where *transport* supports the :class:`ReadTransport` interface. + With :class:`SelectorEventLoop` event loop, the *pipe* is set to + non-blocking mode. + This method is a :ref:`coroutine <coroutine>`. .. method:: BaseEventLoop.connect_write_pipe(protocol_factory, pipe) @@ -432,10 +438,13 @@ Connect pipes Register write pipe in eventloop. *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 :class:`WriteTransport` interface. + With :class:`SelectorEventLoop` event loop, the *pipe* is set to + non-blocking mode. + This method is a :ref:`coroutine <coroutine>`. .. seealso:: |