You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
asyncio: transports don't support switching between Protocol and BufferedProtocol #77835
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee='https://github.com/1st1'closed_at=<Date2018-05-28.19:14:06.583>created_at=<Date2018-05-26.17:08:31.631>labels= ['3.8', 'type-bug', '3.7', 'expert-asyncio']
title="asyncio: transports don't support switching between Protocol and BufferedProtocol"updated_at=<Date2018-05-29.09:19:15.519>user='https://github.com/1st1'
asyncio.BufferedProtocol is a new Python 3.7 *provisional* API.
asyncio.Transport.set_protocol() doesn't support switching between Protocol and BufferedProtocol.
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?
New changeset 2179022 by Andrew Svetlov (Yury Selivanov) in branch 'master': bpo-33654: Support protocol type switching in SSLTransport.set_protocol() (bpo-7194) 2179022
New changeset be5d616 by Miss Islington (bot) in branch '3.7': bpo-33654: Support protocol type switching in SSLTransport.set_protocol() (GH-7194) be5d616
Activity
1st1 commentedon May 26, 2018
asyncio.BufferedProtocol is a new Python 3.7 *provisional* API.
asyncio.Transport.set_protocol() doesn't support switching between Protocol and BufferedProtocol.
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?
1st1 commentedon May 26, 2018
Setting "release blocker" to get Ned's attention.
ned-deily commentedon May 26, 2018
LGTM for 3.7
1st1 commentedon May 26, 2018
Thanks, Ned!
1st1 commentedon May 28, 2018
New changeset dbf1022 by Yury Selivanov in branch 'master':
bpo-33654: Support BufferedProtocol in set_protocol() and start_tls() (GH-7130)
dbf1022
miss-islington commentedon May 28, 2018
New changeset bc3a002 by Miss Islington (bot) in branch '3.7':
bpo-33654: Support BufferedProtocol in set_protocol() and start_tls() (GH-7130)
bc3a002
asvetlov commentedon May 29, 2018
New changeset 2179022 by Andrew Svetlov (Yury Selivanov) in branch 'master':
bpo-33654: Support protocol type switching in SSLTransport.set_protocol() (bpo-7194)
2179022
miss-islington commentedon May 29, 2018
New changeset be5d616 by Miss Islington (bot) in branch '3.7':
bpo-33654: Support protocol type switching in SSLTransport.set_protocol() (GH-7194)
be5d616