Skip to content

Commit 0b21682

Browse files
gh-138703: clarify data buffer requirement of asyncio.StreamWriter.write (#139564)
1 parent 04a2f80 commit 0b21682

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

Doc/library/asyncio-stream.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,13 +316,14 @@ StreamWriter
316316
If that fails, the data is queued in an internal write buffer until it can be
317317
sent.
318318

319+
The *data* buffer should be a bytes, bytearray, or C-contiguous one-dimensional
320+
memoryview object.
321+
319322
The method should be used along with the ``drain()`` method::
320323

321324
stream.write(data)
322325
await stream.drain()
323326

324-
.. note::
325-
The *data* buffer should be a C contiguous one-dimensional :term:`bytes-like object <bytes-like object>`.
326327

327328
.. method:: writelines(data)
328329

Lib/asyncio/selector_events.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1050,8 +1050,8 @@ def _read_ready__on_eof(self):
10501050

10511051
def write(self, data):
10521052
if not isinstance(data, (bytes, bytearray, memoryview)):
1053-
raise TypeError(f'data argument must be a bytes-like object, '
1054-
f'not {type(data).__name__!r}')
1053+
raise TypeError(f'data argument must be a bytes, bytearray, or memoryview '
1054+
f'object, not {type(data).__name__!r}')
10551055
if self._eof:
10561056
raise RuntimeError('Cannot call write() after write_eof()')
10571057
if self._empty_waiter is not None:

0 commit comments

Comments
 (0)