mirror of https://github.com/python/cpython
(Merge 3.4) asyncio, tulip issue 203: Add _FlowControlMixin.get_write_buffer_limits()
method
This commit is contained in:
commit
54c69c2fe3
|
@ -121,6 +121,16 @@ WriteTransport
|
||||||
|
|
||||||
Return the current size of the output buffer used by the transport.
|
Return the current size of the output buffer used by the transport.
|
||||||
|
|
||||||
|
.. method:: get_write_buffer_limits()
|
||||||
|
|
||||||
|
Get the *high*- and *low*-water limits for write flow control. Return a
|
||||||
|
tuple ``(low, high)`` where *low* and *high* are positive number of
|
||||||
|
bytes.
|
||||||
|
|
||||||
|
Use :meth:`set_write_buffer_limits` to set the limits.
|
||||||
|
|
||||||
|
.. versionadded:: 3.4.2
|
||||||
|
|
||||||
.. method:: set_write_buffer_limits(high=None, low=None)
|
.. method:: set_write_buffer_limits(high=None, low=None)
|
||||||
|
|
||||||
Set the *high*- and *low*-water limits for write flow control.
|
Set the *high*- and *low*-water limits for write flow control.
|
||||||
|
@ -141,6 +151,8 @@ WriteTransport
|
||||||
reduces opportunities for doing I/O and computation
|
reduces opportunities for doing I/O and computation
|
||||||
concurrently.
|
concurrently.
|
||||||
|
|
||||||
|
Use :meth:`get_write_buffer_limits` to get the limits.
|
||||||
|
|
||||||
.. method:: write(data)
|
.. method:: write(data)
|
||||||
|
|
||||||
Write some *data* bytes to the transport.
|
Write some *data* bytes to the transport.
|
||||||
|
|
|
@ -273,6 +273,9 @@ class _FlowControlMixin(Transport):
|
||||||
'protocol': self._protocol,
|
'protocol': self._protocol,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
def get_write_buffer_limits(self):
|
||||||
|
return (self._low_water, self._high_water)
|
||||||
|
|
||||||
def _set_write_buffer_limits(self, high=None, low=None):
|
def _set_write_buffer_limits(self, high=None, low=None):
|
||||||
if high is None:
|
if high is None:
|
||||||
if low is None:
|
if low is None:
|
||||||
|
|
|
@ -79,9 +79,11 @@ class TransportTests(unittest.TestCase):
|
||||||
|
|
||||||
transport.set_write_buffer_limits(high=1024, low=128)
|
transport.set_write_buffer_limits(high=1024, low=128)
|
||||||
self.assertFalse(transport._protocol_paused)
|
self.assertFalse(transport._protocol_paused)
|
||||||
|
self.assertEqual(transport.get_write_buffer_limits(), (128, 1024))
|
||||||
|
|
||||||
transport.set_write_buffer_limits(high=256, low=128)
|
transport.set_write_buffer_limits(high=256, low=128)
|
||||||
self.assertTrue(transport._protocol_paused)
|
self.assertTrue(transport._protocol_paused)
|
||||||
|
self.assertEqual(transport.get_write_buffer_limits(), (128, 256))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue