Skip to content

Commit

Permalink
GH-95913: Update what's new in 3.11 for asyncio (GH-97806)
Browse files Browse the repository at this point in the history
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(cherry picked from commit 9fbfa42)

Co-authored-by: Guido van Rossum <guido@python.org>
  • Loading branch information
2 people authored and pablogsal committed Oct 22, 2022
1 parent 7ddd0d3 commit 9d49bd4
Showing 1 changed file with 40 additions and 16 deletions.
56 changes: 40 additions & 16 deletions Doc/whatsnew/3.11.rst
Original file line number Diff line number Diff line change
Expand Up @@ -522,27 +522,51 @@ New Modules
Improved Modules
================

.. _whatsnew311-asyncio:

asyncio
-------

* Add raw datagram socket functions to the event loop:
:meth:`~asyncio.AbstractEventLoop.sock_sendto`,
:meth:`~asyncio.AbstractEventLoop.sock_recvfrom` and
:meth:`~asyncio.AbstractEventLoop.sock_recvfrom_into`.
(Contributed by Alex Grönholm in :issue:`46805`.)

* Add :meth:`~asyncio.streams.StreamWriter.start_tls` method for upgrading
existing stream-based connections to TLS. (Contributed by Ian Good in
:issue:`34975`.)

* Add :class:`~asyncio.Barrier` class to the synchronization primitives of
the asyncio library. (Contributed by Yves Duprat and Andrew Svetlov in
:gh:`87518`.)

* Add :class:`~asyncio.TaskGroup` class,
* Added the :class:`~asyncio.TaskGroup` class,
an :ref:`asynchronous context manager <async-context-managers>`
holding a group of tasks that will wait for all of them upon exit.
(Contributed by Yury Seliganov and others.)
For new code this is recommended over using
:func:`~asyncio.create_task` and :func:`~asyncio.gather` directly.
(Contributed by Yury Selivanov and others in :gh:`90908`.)

* Added :func:`~asyncio.timeout`, an asynchronous context manager for
setting a timeout on asynchronous operations. For new code this is
recommended over using :func:`~asyncio.wait_for` directly.
(Contributed by Andrew Svetlov in :gh:`90927`.)

* Added the :class:`~asyncio.Runner` class, which exposes the machinery
used by :func:`~asyncio.run`.
(Contributed by Andrew Svetlov in :gh:`91218`.)

* Added the :class:`~asyncio.Barrier` class to the synchronization
primitives in the asyncio library, and the related
:exc:`~asyncio.BrokenBarrierError` exception.
(Contributed by Yves Duprat and Andrew Svetlov in :gh:`87518`.)

* Added keyword argument *all_errors* to :meth:`asyncio.loop.create_connection`
so that multiple connection errors can be raised as an :exc:`ExceptionGroup`.

* Added the :meth:`asyncio.StreamWriter.start_tls` method for
upgrading existing stream-based connections to TLS.
(Contributed by Ian Good in :issue:`34975`.)

* Added raw datagram socket functions to the event loop:
:meth:`~asyncio.loop.sock_sendto`,
:meth:`~asyncio.loop.sock_recvfrom` and
:meth:`~asyncio.loop.sock_recvfrom_into`.
These have implementations in :class:`~asyncio.SelectorEventLoop` and
:class:`~asyncio.ProactorEventLoop`.
(Contributed by Alex Grönholm in :issue:`46805`.)

* Added :meth:`~asyncio.Task.cancelling` and
:meth:`~asyncio.Task.uncancel` methods to :class:`~asyncio.Task`.
These are primarily intended for internal use,
notably by :class:`~asyncio.TaskGroup`.

contextlib
----------
Expand Down

0 comments on commit 9d49bd4

Please sign in to comment.