This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: asyncio: transports don't support switching between Protocol and BufferedProtocol
Type: behavior Stage: resolved
Components: asyncio Versions: Python 3.8, Python 3.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: yselivanov Nosy List: asvetlov, miss-islington, ned.deily, yselivanov
Priority: high Keywords: patch

Created on 2018-05-26 17:08 by yselivanov, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 7130 merged yselivanov, 2018-05-26 17:10
PR 7164 merged miss-islington, 2018-05-28 18:32
PR 7194 merged yselivanov, 2018-05-29 05:14
PR 7198 merged miss-islington, 2018-05-29 09:04
Messages (8)
msg317743 - (view) Author: Yury Selivanov (yselivanov) * (Python committer) Date: 2018-05-26 17:08
1. asyncio.BufferedProtocol is a new Python 3.7 *provisional* API.

2. asyncio.Transport.set_protocol() doesn't support switching between Protocol and BufferedProtocol.

3. Because of (2), another *new* Python 3.7 API "loop.start_tls" doesn't support asyncio.BufferedProtocol at all.

The fix is straightforward and *does not* affect any existing APIs in Python 3.6 and lower.  Since the patch adjusts the APIs a little bit, it would be great to merge this in 3.7.0.

However, since only the provisional APIs are changed, this can be theoretically merged to 3.7.1 too.  It would be nice, though, to get this into 3.7.0.  Ned, your thoughts?
msg317745 - (view) Author: Yury Selivanov (yselivanov) * (Python committer) Date: 2018-05-26 17:14
Setting "release blocker" to get Ned's attention.
msg317748 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2018-05-26 17:38
LGTM for 3.7
msg317750 - (view) Author: Yury Selivanov (yselivanov) * (Python committer) Date: 2018-05-26 17:59
Thanks, Ned!
msg317897 - (view) Author: Yury Selivanov (yselivanov) * (Python committer) Date: 2018-05-28 18:31
New changeset dbf102271fcc316f353c7e0a283811b661d128f2 by Yury Selivanov in branch 'master':
bpo-33654: Support BufferedProtocol in set_protocol() and start_tls() (GH-7130)
https://github.com/python/cpython/commit/dbf102271fcc316f353c7e0a283811b661d128f2
msg317900 - (view) Author: miss-islington (miss-islington) Date: 2018-05-28 18:50
New changeset bc3a002e7d5a921e233a5ee0b0f5610c6510b647 by Miss Islington (bot) in branch '3.7':
bpo-33654: Support BufferedProtocol in set_protocol() and start_tls() (GH-7130)
https://github.com/python/cpython/commit/bc3a002e7d5a921e233a5ee0b0f5610c6510b647
msg317990 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2018-05-29 09:02
New changeset 2179022d94937d7b0600b0dc192ca6fa5f53d830 by Andrew Svetlov (Yury Selivanov) in branch 'master':
bpo-33654: Support protocol type switching in SSLTransport.set_protocol() (#7194)
https://github.com/python/cpython/commit/2179022d94937d7b0600b0dc192ca6fa5f53d830
msg317994 - (view) Author: miss-islington (miss-islington) Date: 2018-05-29 09:19
New changeset be5d616e5529a1388a0b451bf6a65ad5bdb70d29 by Miss Islington (bot) in branch '3.7':
bpo-33654: Support protocol type switching in SSLTransport.set_protocol() (GH-7194)
https://github.com/python/cpython/commit/be5d616e5529a1388a0b451bf6a65ad5bdb70d29
History
Date User Action Args
2022-04-11 14:59:00adminsetgithub: 77835
2018-05-29 09:19:15miss-islingtonsetmessages: + msg317994
2018-05-29 09:04:00miss-islingtonsetpull_requests: + pull_request6833
2018-05-29 09:02:51asvetlovsetmessages: + msg317990
2018-05-29 05:14:27yselivanovsetpull_requests: + pull_request6828
2018-05-28 19:14:06yselivanovsetstatus: open -> closed
type: behavior
resolution: fixed
stage: patch review -> resolved
2018-05-28 18:50:47miss-islingtonsetnosy: + miss-islington
messages: + msg317900
2018-05-28 18:32:45miss-islingtonsetpull_requests: + pull_request6799
2018-05-28 18:31:31yselivanovsetmessages: + msg317897
2018-05-26 17:59:06yselivanovsetmessages: + msg317750
2018-05-26 17:38:38ned.deilysetpriority: release blocker -> high

messages: + msg317748
2018-05-26 17:14:37yselivanovsetpriority: high -> release blocker

messages: + msg317745
2018-05-26 17:10:57yselivanovsetkeywords: + patch
stage: patch review
pull_requests: + pull_request6764
2018-05-26 17:08:31yselivanovcreate