summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio/proactor_events.py
diff options
context:
space:
mode:
authorJamie Phan <jamie@ordinarylab.dev>2024-02-17 02:38:07 (GMT)
committerGitHub <noreply@github.com>2024-02-17 02:38:07 (GMT)
commit73e8637002639e565938d3f205bf46e7f1dbd6a8 (patch)
tree4c1b1f816c5d5dd9817e63bfd80fa2ea2f2688bc /Lib/asyncio/proactor_events.py
parent8db8d7118e1ef22bc7cdc3d8b657bc10c22c2fd6 (diff)
downloadcpython-73e8637002639e565938d3f205bf46e7f1dbd6a8.zip
cpython-73e8637002639e565938d3f205bf46e7f1dbd6a8.tar.gz
cpython-73e8637002639e565938d3f205bf46e7f1dbd6a8.tar.bz2
gh-113812: Allow DatagramTransport.sendto to send empty data (#115199)
Also include the UDP packet header sizes (8 bytes per packet) in the buffer size reported to the flow control subsystem.
Diffstat (limited to 'Lib/asyncio/proactor_events.py')
-rw-r--r--Lib/asyncio/proactor_events.py5
1 files changed, 1 insertions, 4 deletions
diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py
index 1e2a730..a512db6 100644
--- a/Lib/asyncio/proactor_events.py
+++ b/Lib/asyncio/proactor_events.py
@@ -487,9 +487,6 @@ class _ProactorDatagramTransport(_ProactorBasePipeTransport,
raise TypeError('data argument must be bytes-like object (%r)',
type(data))
- if not data:
- return
-
if self._address is not None and addr not in (None, self._address):
raise ValueError(
f'Invalid address: must be None or {self._address}')
@@ -502,7 +499,7 @@ class _ProactorDatagramTransport(_ProactorBasePipeTransport,
# Ensure that what we buffer is immutable.
self._buffer.append((bytes(data), addr))
- self._buffer_size += len(data)
+ self._buffer_size += len(data) + 8 # include header bytes
if self._write_fut is None:
# No current write operations are active, kick one off