MemRelay-Operation: checkpoint-save:chk-broker-b01-b12-20260930-1515 MemRelay-Resource: 0e41749e-828a-45e2-a309-5681dd2693e9
2.7 KiB
2.7 KiB
title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
| title | type | permalink | stable_id | scope | memory_type | project_id | usage_profile_id | status | revision | request_id | created_at | updated_at | tags | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Checkpoint 2026-09-30 07:24:38 UTC [fd8b91d2c7] | checkpoint | main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-30-07-24-38-utc-fd8b91d2c7 | 0e41749e-828a-45e2-a309-5681dd2693e9 | project | checkpoint | 25464650-ed5d-440e-b362-190f2852d451 | 0c9feb46-d06e-43cd-9ef0-c5813c84a998 | active | 1 | chk-broker-b01-b12-20260930-1515 | 2026-09-30T07:24:38.343182+00:00 | 2026-09-30T07:24:38.343182+00:00 |
|
broker 复审 B-01..B-12 已完成并推送(未 merge main)
- 工作树:
E:\\code\\NixMsg-wt\\r2-b - 分支:
feat/fix-broker-b01-b12(已普通推送到 origin,非 force) - 基于:
origin/main@4059a15 - 未 merge main,未关 Gitea issues
提交
da43385fix: 在 OnConnect 把 mochi 发送配额置 0 规避死锁(B-01 #8)b5b63edfix: 大帧名额按 PacketID 在 PUBACK 与断线时归还(B-02 #9)4216072fix: 认证失败不泄漏连接表并脱敏 mochi 整包日志(B-05 #12、B-07 #14)8b84584fix: 完成 broker 复审 B-03 至 B-12
关键实现
- B-03:每连接下行队列 256 帧/16MiB + 发送 goroutine;满则 ErrBackpressure。Publish 失败会重试以免静默抽空队列。
- B-06:PublishDown 只发给当前连接;未订 down 返回 ErrNotSubscribed;导出 EffectivePayloadLimit;uplink.publishResp 使用它;旧连接 superseded。
- B-04:PublishThenDisconnect 入队,OnPacketSent 后再 Disconnect。logout/fatalKick 走该原语。serve 里 identity.New ConnControl=nil。
- B-09:broker 与 appUplink 按端加锁;uplink 握手表,仅已 hello 连接按当前连接通知消息线。未改 presence/app.go。
- B-10:密码登录条件 UPDATE;hello TokenMatchesDB。未改 identity/self.go。
- B-11:闲置取 used/online/offline 较新者,在线视为未闲置。
- B-12:Authenticate 30s 超时;每端 Verify 并发 2。未改 auth 池/PHC。
- B-08:Broker.Shutdown 发 MQTT 5 0x8B 后 Close。serve 在 listener Close 前调用。HTTP Shutdown 留给 L-03。
验证
go test ./internal/broker/ -count=1通过(约 6.2s)go test ./cmd/nixmsg/ -count=1通过(约 4.9s)
跳过(按裁定)
- 不改 identity/lifecycle.go、presence/app.go、auth pool/phc、listener L-03
- 不关 issues,不 merge main
下一步
总控审阅后 ff-merge;L-03 可接 B-08 Shutdown。不要删 E:\\code\\NixMsg-wt\\fix3。
给下个会话
复用工作树 E:\\code\\NixMsg-wt\\r2-b 与已推送分支 feat/fix-broker-b01-b12。不要在 e:\code\NixMsg 主工作区改。