贡献者聚会
您知道此页面是根据 Github Wiki 页面 自动生成的。您可以在 此处 自行改进它!
一些聚会专注于 netty 本身的开发,因此只有贡献者才能受邀参加这些聚会。但是,我们会在聚会结束后分享所有聚会详情,以造福所有参与 netty 的人。
- 缓冲区更新
- Netty Core/Contrib 存储库分离
- HTTP 缓存
- https://github.com/netty/netty-website/blob/master/meetups/contributor_meetups/2021-10-28/Netty%20Contributor%20Meetup-20211028%201536-1.mp4
- https://github.com/netty/netty-website/blob/master/meetups/contributor_meetups/2021-10-28/Netty%20Contributor%20Meetup-20211028%201536-1.vtt(成绩单)
Chris 提供了一些与缓冲区 API 相关的更新。
常规
- 我们解决了所有反馈
- 简化了生命周期
- 开始将模块转换为新的缓冲区 API
生命周期
- 不再可见引用计数
- 现在缓冲区始终归所有,因此不再有切片/复制方法
- 您必须使用新的 API,如拆分/复制/发送作为替代
集成
- 现在可以通过配置设置“新分配器”,因此集成更加紧密。
- 提供默认实现
- 编写了新的泄漏检测器实现,用于新的缓冲区 API 和实现。
问题:弗拉基米尔:分配器实现是否仍然相同?配置等如何?克里斯:算法方面相同,但我们希望重新审视分配器的默认值/配置。
弗拉基米尔:最好发布有关调整等的文档……诺曼:是的,我们应该这样做!添加一个操作项。
朱利安:我想知道哪些编解码器仍在使用新 API 克里斯/尼特什:目前使用此 API 的编解码器并不多。我们目前正在移植 HTTP/1。请检查并提供反馈:https://github.com/netty/netty/pull/11711
朱利安:是否可以混合匹配新 API 和旧 API 克里斯:是的,您可以这样做。有转换方法。
诺曼:当我们发布 Beta1 时,我们的目标是将所有内容都移到新 API。
克里斯:我们希望将使用较少/专业知识较少的项目移至 contrib。
西蒙:您如何为 contrib “引入”新的维护者等?诺曼:还没有想法……让我们添加一个操作项
- 添加与配置/调整缓冲区分配器相关的文档
- 考虑如何将新的维护者/贡献者引入 contrib 模块
- 我们是否应该为 contrib 模块建立一个单独的组织?Finagle 正在这样做
此次聚会重点讨论了 HTTP/2 API 更改 (https://github.com/netty/netty/pull/11603).
-
* H2 编码器和子通道上的流量控制器 → 我们应该先移至父通道吗?避免潜在的重新排序,并完全了解连接级别状态?
- 利益相关者:eric、<nitesh、norman、chris、scott>
-
H2 协议升级 → 我们是否应支持 h2c,WebSocket 怎么办?
- 这是一个开放的讨论事项,目前倾向于不支持纯文本 (h2c) 升级。每个流的 WebSocket 升级应该是可行的,但尚未验证。
- 利益相关者:Moses、Julien、Susheel、<nitesh、norman、chris、scott>
-
社区聚会 → 设置 wiki 以获取聚会内容,创建人们可以请求下次聚会主题的地方。
- 利益相关者:norman
-
早期采用者 → 我们需要人们审查 PR 并为 Netty 5.0 功能(缓冲区、h2 api、压缩等)提供支持。
- 利益相关者:<社区中的每个人 🎉❤️>
- 社区:每两个月举行一次会议,分享议程,为无法参加的人员做笔记
- 社区:Netty 5 必须能够在同一应用程序中与 Netty 4 共存(不同的包名称、maven 坐标、不同的 JNI 库名称和方法签名)
- 社区:(Moses、Eric、Violeta Georgieva) 有兴趣减少子通道初始化的开销
- Eric:在控制帧与子通道的关系方面,很难理解 h2 PR。不清楚预期的改进与一般更改之间的区别。
- Moses:h2c 升级如何工作?
- Julien:h2 的 WebSocket。如何支持此功能?
- Susheel:WebSocket 需要 h2c 升级吗?我们是否能够使用 WebSocket 处理程序进行升级?
- Eric:我们能否使 H2 帧类型“就地”(无论如何,缓冲区更改将在 Netty 中普遍存在)
- Carl:可写性如何工作?
- Scott:如果我们对可写性使用流控制,则连接窗口更新必须连接到子通道
- Eric:流控制和可写性之间可能没有紧密耦合。权衡包括额外的内存,但有助于简化实现/连接并避免分配抖动和公平性问题。
- Eric:编码器和流控制为何在子通道上?
- Eric:更不透明是因为你只能看到字节(受限,看不到其他帧)。跨通道共享 hpack 编码器似乎有风险,因为事件可能会重新排序。
- 社区:没有人表示有兴趣实现自定义流控制算法,不反对一开始将此包保留为私有。
- Eric:原型中有一些组件是我们之前放弃的,我们如何认为可以重新获得性能优势?
- Eric:我们应该考虑 API 迁移垫片来帮助迁移。例如,需要一个从 ByteBuf 到 Buffer 的垫片,应该考虑是否可以用 h2 等来做同样的事情。
上次检索于 2024 年 7 月 19 日