chore: 小项池子——AOT 门禁 + JSON codec 示例 + Pipe 段尺寸对齐 + 覆盖率补测 + CHANGELOG 修复 - #54
Merged
Conversation
- NativeAOT/裁剪门禁:samples/StreamFrame.AotSmoke 冒烟工程(引用库最小路径 含会话感知发送)+ ci.yml aot job(ubuntu PublishAot,警告即错误;非必需 检查不影响分支保护)。注意:PublishAot 在工程内开启而非命令行传递—— 全局属性会传播到库的 ns2.0 目标触发 NETSDK1124 - README 双语新增 System.Text.Json 最简 codec 示例(span 直写、AOT 安全) - 接收 Pipe 段尺寸对齐 SocketReceiveBufferSize(64KB 整帧常驻单段,Kestrel 同款);本机两轮基准在噪声内无法确立效果,保留(98×3 无回归),待 soak 复检 - 覆盖率补测:+13 个守卫/边界测试(StxEtx/LengthPrefix 守卫与超限重同步、 PooledBufferWriter/BufferWriterStream 参数守卫),分支 78.9%→82.3% - CHANGELOG 修复:v2.5.0 归档脚本锚点未匹配(无 assert 静默失败)导致 2.5.0 内容错挂 2.4.0 段落、Release 正文回退自动生成——按两 tag 实际内容还原拆分, 并已回填 v2.5.0 Release 正文
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
四个小项 + 过程中发现的一处发版流程债,全部落地。
1. NativeAOT/裁剪兼容性门禁
samples/StreamFrame.AotSmoke:引用库的最小可运行路径(连接生命周期 + 定界 + JSON codec + 会话感知发送 + 指标记录),实跑输出AOT smoke OK;aotjob(非必需检查,不影响分支保护):ubuntu 上 PublishAot 发布,IL2026/IL3050 等警告经 TreatWarningsAsErrors 直接红掉;-p:传递——全局属性会传播到库的 ns2.0 目标触发 NETSDK1124。2. README 双语 JSON codec 示例
System.Text.Json 最简驱动(span 直写、AOT 安全),与 XML 驱动并列——新用户最常见的接入形态。
3. Pipe 段尺寸对齐(实验性保留)
接收 Pipe 的 minimumSegmentSize 对齐 SocketReceiveBufferSize(64KB 整帧常驻单段,Kestrel 同款做法)。诚实披露:本机两轮基准 48.75µs / 93µs,效果在噪声内无法确立——保留改动(语义合理、98×3 无回归),每夜 soak 与后续基准复检,若确认无效可一行回退。
4. 覆盖率补测
+13 个守卫/边界测试(StxEtx/LengthPrefix 的构造守卫、超限拒绝与重同步路径、PooledBufferWriter/BufferWriterStream 参数守卫):定向类 StxEtx 90%、LengthPrefix 94%、两个 Writer 100%;全局分支 78.9% → 82.3%(此前因新特性分支增多从 81.2% 回落,本池子拉回并超越)。
5. CHANGELOG 修复(发版流程债)
发现 v2.5.0 归档脚本的锚点未匹配(无 assert 静默失败)→ 2.5.0 内容错挂在 2.4.0 段落下、Release 正文回退成 GitHub 自动生成。已按两个 tag 的实际内容拆分还原(监听加固归 2.4.0;代次门控/大报文/观察基建归 2.5.0),并回填了 v2.5.0 的 Release 正文。
测试
98×3 = 294 全绿 × 两轮(85 + 13 新增)。