asyncio.StreamWriter.drain()

coroutine drain()

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 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 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 write().

This method is a coroutine.

doc_python
2016-10-07 17:27:03
Comments
Leave a Comment

Please login to continue.