From: Emiya Date: Tue, 1 Feb 2022 16:05:02 +0000 (+0530) Subject: bpo-46487: Add `get_write_buffer_limits` to Write and _SSLProtocol transports (GH... X-Git-Tag: v3.11.0a5~33 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=64568acbd88a88d54ac9b8215447f88280448dd5;p=thirdparty%2FPython%2Fcpython.git bpo-46487: Add `get_write_buffer_limits` to Write and _SSLProtocol transports (GH-30958) Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> --- diff --git a/Lib/asyncio/sslproto.py b/Lib/asyncio/sslproto.py index cad25b26539f..00fc16c014c9 100644 --- a/Lib/asyncio/sslproto.py +++ b/Lib/asyncio/sslproto.py @@ -367,6 +367,12 @@ class _SSLProtocolTransport(transports._FlowControlMixin, """Return the current size of the write buffer.""" return self._ssl_protocol._transport.get_write_buffer_size() + def get_write_buffer_limits(self): + """Get the high and low watermarks for write flow control. + Return a tuple (low, high) where low and high are + positive number of bytes.""" + return self._ssl_protocol._transport.get_write_buffer_limits() + @property def _protocol_paused(self): # Required for sendfile fallback pause_writing/resume_writing logic diff --git a/Lib/asyncio/transports.py b/Lib/asyncio/transports.py index 45e155c94cad..73b1fa2de416 100644 --- a/Lib/asyncio/transports.py +++ b/Lib/asyncio/transports.py @@ -99,6 +99,12 @@ class WriteTransport(BaseTransport): """Return the current size of the write buffer.""" raise NotImplementedError + def get_write_buffer_limits(self): + """Get the high and low watermarks for write flow control. + Return a tuple (low, high) where low and high are + positive number of bytes.""" + raise NotImplementedError + def write(self, data): """Write some data bytes to the transport. diff --git a/Misc/NEWS.d/next/Library/2022-01-27-12-24-38.bpo-46487.UDkN2z.rst b/Misc/NEWS.d/next/Library/2022-01-27-12-24-38.bpo-46487.UDkN2z.rst new file mode 100644 index 000000000000..adbc50a4bf9b --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-01-27-12-24-38.bpo-46487.UDkN2z.rst @@ -0,0 +1 @@ +Add the ``get_write_buffer_limits`` method to :class:`asyncio.transports.WriteTransport` and to the SSL transport.