mirror of
https://github.com/python/cpython.git
synced 2025-10-09 16:34:44 +00:00
bpo-33654: Support BufferedProtocol in set_protocol() and start_tls() (GH-7130)
In this commit:
* Support BufferedProtocol in set_protocol() and start_tls()
* Fix proactor to cancel readers reliably
* Update tests to be compatible with OpenSSL 1.1.1
* Clarify BufferedProtocol docs
* Bump TLS tests timeouts to 60 seconds; eliminate possible race from start_serving
* Rewrite test_start_tls_server_1
(cherry picked from commit dbf102271f
)
Co-authored-by: Yury Selivanov <yury@magic.io>
This commit is contained in:
parent
f8fdb368e3
commit
bc3a002e7d
13 changed files with 382 additions and 69 deletions
|
@ -130,11 +130,15 @@ class BufferedProtocol(BaseProtocol):
|
|||
* CL: connection_lost()
|
||||
"""
|
||||
|
||||
def get_buffer(self):
|
||||
def get_buffer(self, sizehint):
|
||||
"""Called to allocate a new receive buffer.
|
||||
|
||||
*sizehint* is a recommended minimal size for the returned
|
||||
buffer. When set to -1, the buffer size can be arbitrary.
|
||||
|
||||
Must return an object that implements the
|
||||
:ref:`buffer protocol <bufferobjects>`.
|
||||
It is an error to return a zero-sized buffer.
|
||||
"""
|
||||
|
||||
def buffer_updated(self, nbytes):
|
||||
|
@ -185,7 +189,3 @@ class SubprocessProtocol(BaseProtocol):
|
|||
|
||||
def process_exited(self):
|
||||
"""Called when subprocess has exited."""
|
||||
|
||||
|
||||
def _is_buffered_protocol(proto):
|
||||
return hasattr(proto, 'get_buffer') and not hasattr(proto, 'data_received')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue