diff options
author | Yury Selivanov <yselivanov@sprymix.com> | 2014-02-20 21:20:44 (GMT) |
---|---|---|
committer | Yury Selivanov <yselivanov@sprymix.com> | 2014-02-20 21:20:44 (GMT) |
commit | f9200ae398de358f88911bcd01e47644344934b2 (patch) | |
tree | c466eafebb7cce5e19a51e2631d1e9def166ea8d /Doc/library | |
parent | a90e8edaea8761abf7c4820e01409b94a4044049 (diff) | |
download | cpython-f9200ae398de358f88911bcd01e47644344934b2.zip cpython-f9200ae398de358f88911bcd01e47644344934b2.tar.gz cpython-f9200ae398de358f88911bcd01e47644344934b2.tar.bz2 |
asyncio.docs: Improve wordings; add a note to the Coroutines section. Issue #20706
Diffstat (limited to 'Doc/library')
-rw-r--r-- | Doc/library/asyncio-eventloop.rst | 45 | ||||
-rw-r--r-- | Doc/library/asyncio-stream.rst | 14 | ||||
-rw-r--r-- | Doc/library/asyncio-sync.rst | 14 | ||||
-rw-r--r-- | Doc/library/asyncio-task.rst | 14 |
4 files changed, 49 insertions, 38 deletions
diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index 88fe35e..2e48d30 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -102,7 +102,8 @@ Run an event loop Run until the :class:`Future` is done. - If the argument is a coroutine, it is wrapped in a :class:`Task`. + If the argument is a :ref:`coroutine <coroutine>`, it is wrapped + in a :class:`Task`. Return the Future's result, or raise its exception. @@ -207,7 +208,7 @@ Creating connections socket type :py:data:`~socket.SOCK_STREAM`. *protocol_factory* must be a callable returning a :ref:`protocol <asyncio-protocol>` instance. - This method returns a :ref:`coroutine object <coroutine>` which will try to + This method is a :ref:`coroutine <coroutine>` which will try to establish the connection in the background. When successful, the coroutine returns a ``(transport, protocol)`` pair. @@ -274,7 +275,7 @@ Creating connections :py:data:`~socket.AF_INET6` depending on *host* (or *family* if specified), socket type :py:data:`~socket.SOCK_DGRAM`. - This method returns a :ref:`coroutine object <coroutine>` which will try to + This method is a :ref:`coroutine <coroutine>` which will try to establish the connection in the background. When successful, the coroutine returns a ``(transport, protocol)`` pair. @@ -288,7 +289,7 @@ Creating connections family is used to communicate between processes on the same machine efficiently. - This method returns a :ref:`coroutine object <coroutine>` which will try to + This method is a :ref:`coroutine <coroutine>` which will try to establish the connection in the background. When successful, the coroutine returns a ``(transport, protocol)`` pair. @@ -302,8 +303,8 @@ Creating listening connections .. method:: BaseEventLoop.create_server(protocol_factory, host=None, port=None, \*, family=socket.AF_UNSPEC, flags=socket.AI_PASSIVE, sock=None, backlog=100, ssl=None, reuse_address=None) - A :ref:`coroutine function <coroutine>` which creates a TCP server bound to host and - port. + A :ref:`coroutine <coroutine>` method which creates a TCP server bound to + host and port. The return value is a :class:`AbstractServer` object which can be used to stop the service. @@ -332,8 +333,6 @@ Creating listening connections expire. If not specified will automatically be set to True on UNIX. - This method returns a :ref:`coroutine object <coroutine>`. - .. seealso:: The function :func:`start_server` creates a (:class:`StreamReader`, @@ -380,7 +379,7 @@ Low-level socket operations representing the data received. The maximum amount of data to be received at once is specified by *nbytes*. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. seealso:: @@ -392,9 +391,9 @@ Low-level socket operations 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 - any, was successfully sent. + any, was successfully processed by the receiving end of the connection. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. seealso:: @@ -410,7 +409,7 @@ 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. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. seealso:: @@ -427,7 +426,7 @@ Low-level socket operations and *address* is the address bound to the socket on the other end of the connection. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. seealso:: @@ -440,13 +439,13 @@ Resolve host name .. method:: BaseEventLoop.getaddrinfo(host, port, \*, family=0, type=0, proto=0, flags=0) - Similar to the :meth:`socket.getaddrinfo` function, but return a - :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`, similar to + :meth:`socket.getaddrinfo` function but non-blocking. .. method:: BaseEventLoop.getnameinfo(sockaddr, flags=0) - Similar to the :meth:`socket.getnameinfo` function, but return a - :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`, similar to + :meth:`socket.getnameinfo` function but non-blocking. Running subprocesses @@ -472,7 +471,7 @@ Run subprocesses asynchronously using the :mod:`subprocess` module. XXX - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. See the constructor of the :class:`subprocess.Popen` class for parameters. @@ -480,7 +479,7 @@ Run subprocesses asynchronously using the :mod:`subprocess` module. XXX - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. See the constructor of the :class:`subprocess.Popen` class for parameters. @@ -493,7 +492,7 @@ Run subprocesses asynchronously using the :mod:`subprocess` module. Return pair (transport, protocol), where transport support :class:`ReadTransport` interface. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. method:: BaseEventLoop.connect_write_pipe(protocol_factory, pipe) @@ -504,7 +503,7 @@ Run subprocesses asynchronously using the :mod:`subprocess` module. Return pair (transport, protocol), where transport support :class:`WriteTransport` interface. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. seealso:: @@ -549,6 +548,8 @@ pool of processes). By default, an event loop uses a thread pool executor *executor* is a :class:`~concurrent.futures.Executor` instance, the default executor is used if *executor* is ``None``. + This method is a :ref:`coroutine <coroutine>`. + .. method:: BaseEventLoop.set_default_executor(executor) Set the default executor used by :meth:`run_in_executor`. @@ -633,7 +634,7 @@ Server .. method:: wait_closed() - Coroutine to wait until service is closed. + A :ref:`coroutine <coroutine>` to wait until service is closed. Handle diff --git a/Doc/library/asyncio-stream.rst b/Doc/library/asyncio-stream.rst index 76b6643..4543af4 100644 --- a/Doc/library/asyncio-stream.rst +++ b/Doc/library/asyncio-stream.rst @@ -30,7 +30,7 @@ Stream functions :class:`StreamReaderProtocol` classes, just copy the code -- there's really nothing special here except some convenience.) - This function returns a :ref:`coroutine object <coroutine>`. + This function is a :ref:`coroutine <coroutine>`. .. function:: start_server(client_connected_cb, host=None, port=None, \*, loop=None, limit=None, **kwds) @@ -56,7 +56,7 @@ Stream functions The return value is the same as :meth:`~BaseEventLoop.create_server()`, i.e. a :class:`AbstractServer` object which can be used to stop the service. - This function returns a :ref:`coroutine object <coroutine>`. + This function is a :ref:`coroutine <coroutine>`. .. function:: open_unix_connection(path=None, \*, loop=None, limit=None, **kwds) @@ -66,7 +66,7 @@ Stream functions See :func:`open_connection` for information about return value and other details. - This function returns a :ref:`coroutine object <coroutine>`. + This function is a :ref:`coroutine <coroutine>`. Availability: UNIX. @@ -77,7 +77,7 @@ Stream functions See :func:`start_server` for information about return value and other details. - This function returns a :ref:`coroutine object <coroutine>`. + This function is a :ref:`coroutine <coroutine>`. Availability: UNIX. @@ -116,7 +116,7 @@ StreamReader If the EOF was received and the internal buffer is empty, return an empty ``bytes`` object. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. method:: readline() @@ -128,7 +128,7 @@ StreamReader If the EOF was received and the internal buffer is empty, return an empty ``bytes`` object. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. method:: readexactly(n) @@ -137,7 +137,7 @@ StreamReader :attr:`IncompleteReadError.partial` attribute of the exception contains the partial read bytes. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. method:: at_eof() diff --git a/Doc/library/asyncio-sync.rst b/Doc/library/asyncio-sync.rst index 19e49ff..de38131 100644 --- a/Doc/library/asyncio-sync.rst +++ b/Doc/library/asyncio-sync.rst @@ -124,7 +124,7 @@ Event Otherwise, block until another coroutine calls :meth:`set` to set the flag to true, then return ``True``. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. Condition @@ -175,7 +175,7 @@ Condition condition variable in another coroutine. Once awakened, it re-acquires the lock and returns ``True``. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. method:: wait_for(predicate) @@ -184,7 +184,7 @@ Condition The predicate should be a callable which result will be interpreted as a boolean value. The final predicate value is the return value. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. Semaphores @@ -217,7 +217,7 @@ Semaphore until some other coroutine has called :meth:`release` to make it larger than ``0``, and then return ``True``. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. method:: locked() @@ -279,7 +279,7 @@ Queue If you yield from :meth:`get()`, wait until a item is available. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. method:: get_nowait() @@ -295,7 +295,7 @@ Queue If you yield from ``put()``, wait until a free slot is available before adding item. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. method:: put_nowait(item) @@ -350,7 +350,7 @@ JoinableQueue it is complete. When the count of unfinished tasks drops to zero, :meth:`join` unblocks. - This method returns a :ref:`coroutine object <coroutine>`. + This method is a :ref:`coroutine <coroutine>`. .. method:: task_done() diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index e7ef172..4e5526e 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -64,6 +64,14 @@ Coroutines (and tasks) can only run when the event loop is running. message is logged. See :ref:`Detect coroutines never scheduled <asyncio-coroutine-not-scheduled>`. +.. note:: + + In this documentation, some methods are documented as coroutines, + even if they are plain Python functions returning a :class:`Future`. + This is intentional to have a freedom of tweaking the implementation + of these functions in the future. If such a function is needed to be + used in a callback-style code, wrap its result with :func:`async`. + .. _asyncio-hello-world-coroutine: @@ -440,7 +448,7 @@ Task functions .. function:: sleep(delay, result=None, \*, loop=None) - Create a :ref:`coroutine object <coroutine>` that completes after a given + Create a :ref:`coroutine <coroutine>` that completes after a given time (in seconds). If *result* is provided, it is produced to the caller when the coroutine completes. @@ -505,7 +513,7 @@ Task functions | | futures finish or are cancelled. | +-----------------------------+----------------------------------------+ - This function returns a :ref:`coroutine object <coroutine>`. + This function is a :ref:`coroutine <coroutine>`. Usage:: @@ -529,6 +537,8 @@ Task functions cancels the task and raises :exc:`TimeoutError`. To avoid the task cancellation, wrap it in :func:`shield`. + This function is a :ref:`coroutine <coroutine>`. + Usage:: result = yield from asyncio.wait_for(fut, 60.0) |