MagicStack / MagicStack/uvloop

start_tls() loses buffered data and doesn't work when upgrading a stream

未关闭
#707 0 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Cython
星标
11.9k
派生
616
PR 合并指标
30 天内没有已合并 PR

描述

When using StreamWriter.start_tls() (or loop.start_tls()) to upgrade a connection to TLS mid-stream, any data already buffered in the StreamReader is lost, and the call hangs forever.

The problem is present in asyncio too: https://github.com/python/cpython/issues/142352 , and a solution has been provided: https://github.com/python/cpython/pull/142354

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

Start with StreamWriter.start_tls() and loop.start_tls(), then read the linked CPython issue and proposed pull request for the intended behavior. Done means upgrading a mid-stream connection without losing data already buffered in StreamReader and without the call hanging forever.

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
networking
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。