gh-102810 Improve the sphinx docs for `asyncio.Timeout` (#102934)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
JosephSBoyle 2023-03-23 16:43:13 +00:00 committed by GitHub
parent bf42eb8722
commit f13fdacadf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 15 deletions

View File

@ -624,32 +624,26 @@ Timeouts
The context manager produced by :func:`asyncio.timeout` can be
rescheduled to a different deadline and inspected.
.. class:: Timeout()
.. class:: Timeout(when)
An :ref:`asynchronous context manager <async-context-managers>`
that limits time spent inside of it.
for cancelling overdue coroutines.
.. versionadded:: 3.11
``when`` should be an absolute time at which the context should time out,
as measured by the event loop's clock:
- If ``when`` is ``None``, the timeout will never trigger.
- If ``when < loop.time()``, the timeout will trigger on the next
iteration of the event loop.
.. method:: when() -> float | None
Return the current deadline, or ``None`` if the current
deadline is not set.
The deadline is a float, consistent with the time returned by
:meth:`loop.time`.
.. method:: reschedule(when: float | None)
Change the time the timeout will trigger.
If *when* is ``None``, any current deadline will be removed, and the
context manager will wait indefinitely.
If *when* is a float, it is set as the new deadline.
if *when* is in the past, the timeout will trigger on the next
iteration of the event loop.
Reschedule the timeout.
.. method:: expired() -> bool