Closes #22348: Rephrase asyncio.StreamWriter.drain() documentation

Patch written by Martin Richard.
This commit is contained in:
Victor Stinner 2014-11-28 17:45:41 +01:00
parent 1deee54e0c
commit e7182979d6
2 changed files with 11 additions and 4 deletions

View File

@ -170,16 +170,22 @@ StreamWriter
.. method:: drain()
Wait until the write buffer of the underlying transport is flushed.
Let the write buffer of the underlying transport a chance to be flushed.
The intended use is to write::
w.write(data)
yield from w.drain()
When the transport buffer is full (the protocol is paused), block until
the buffer is (partially) drained and the protocol is resumed. When there
is nothing to wait for, the yield-from continues immediately.
When the size of the transport buffer reaches the high-water limit (the
protocol is paused), block until the size of the buffer is drained down
to the low-water limit and the protocol is resumed. When there is nothing
to wait for, the yield-from continues immediately.
Yielding from :meth:`drain` gives the opportunity for the loop to
schedule the write operation and flush the buffer. It should especially
be used when a possibly large amount of data is written to the transport,
and the coroutine does not yield-from between calls to :meth:`write`.
This method is a :ref:`coroutine <coroutine>`.

View File

@ -1125,6 +1125,7 @@ Francesco Ricciardi
Tim Rice
Jan Pieter Riegel
Armin Rigo
Martin Richard
Arc Riley
Nicholas Riley
Jean-Claude Rimbault