summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2022-03-13 16:42:29 (GMT)
committerGitHub <noreply@github.com>2022-03-13 16:42:29 (GMT)
commit9f04ee569cebb8b4c6f04bea95d91a19c5403806 (patch)
treeabd4626ee19d394f35109b4cd2830d50a4a4f9d9 /Doc
parent7e473e94a52024ac821dd2f206290423e4987ead (diff)
downloadcpython-9f04ee569cebb8b4c6f04bea95d91a19c5403806.zip
cpython-9f04ee569cebb8b4c6f04bea95d91a19c5403806.tar.gz
cpython-9f04ee569cebb8b4c6f04bea95d91a19c5403806.tar.bz2
bpo-46805: Add low level UDP socket functions to asyncio (GH-31455)
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/asyncio-eventloop.rst35
-rw-r--r--Doc/library/asyncio-llapi-index.rst9
-rw-r--r--Doc/whatsnew/3.11.rst9
3 files changed, 53 insertions, 0 deletions
diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst
index 1b762a7..4776853 100644
--- a/Doc/library/asyncio-eventloop.rst
+++ b/Doc/library/asyncio-eventloop.rst
@@ -922,6 +922,29 @@ convenient.
.. versionadded:: 3.7
+.. coroutinemethod:: loop.sock_recvfrom(sock, bufsize)
+
+ Receive a datagram of up to *bufsize* from *sock*. Asynchronous version of
+ :meth:`socket.recvfrom() <socket.socket.recvfrom>`.
+
+ Return a tuple of (received data, remote address).
+
+ *sock* must be a non-blocking socket.
+
+ .. versionadded:: 3.11
+
+.. coroutinemethod:: loop.sock_recvfrom_into(sock, buf, nbytes=0)
+
+ Receive a datagram of up to *nbytes* from *sock* into *buf*.
+ Asynchronous version of
+ :meth:`socket.recvfrom_into() <socket.socket.recvfrom_into>`.
+
+ Return a tuple of (number of bytes received, remote address).
+
+ *sock* must be a non-blocking socket.
+
+ .. versionadded:: 3.11
+
.. coroutinemethod:: loop.sock_sendall(sock, data)
Send *data* to the *sock* socket. Asynchronous version of
@@ -940,6 +963,18 @@ convenient.
method, before Python 3.7 it returned a :class:`Future`.
Since Python 3.7, this is an ``async def`` method.
+.. coroutinemethod:: loop.sock_sendto(sock, data, address)
+
+ Send a datagram from *sock* to *address*.
+ Asynchronous version of
+ :meth:`socket.sendto() <socket.socket.sendto>`.
+
+ Return the number of bytes sent.
+
+ *sock* must be a non-blocking socket.
+
+ .. versionadded:: 3.11
+
.. coroutinemethod:: loop.sock_connect(sock, address)
Connect *sock* to a remote socket at *address*.
diff --git a/Doc/library/asyncio-llapi-index.rst b/Doc/library/asyncio-llapi-index.rst
index 0ab322a..69b550e 100644
--- a/Doc/library/asyncio-llapi-index.rst
+++ b/Doc/library/asyncio-llapi-index.rst
@@ -189,9 +189,18 @@ See also the main documentation section about the
* - ``await`` :meth:`loop.sock_recv_into`
- Receive data from the :class:`~socket.socket` into a buffer.
+ * - ``await`` :meth:`loop.sock_recvfrom`
+ - Receive a datagram from the :class:`~socket.socket`.
+
+ * - ``await`` :meth:`loop.sock_recvfrom_into`
+ - Receive a datagram from the :class:`~socket.socket` into a buffer.
+
* - ``await`` :meth:`loop.sock_sendall`
- Send data to the :class:`~socket.socket`.
+ * - ``await`` :meth:`loop.sock_sendto`
+ - Send a datagram via the :class:`~socket.socket` to the given address.
+
* - ``await`` :meth:`loop.sock_connect`
- Connect the :class:`~socket.socket`.
diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index 8ab6854..9fbf467 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -226,6 +226,15 @@ New Modules
Improved Modules
================
+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`.)
+
fractions
---------