create: Checkpoint 2026-09-30 07:24:38 UTC [fd8b91d2c7]

MemRelay-Operation: checkpoint-save:chk-broker-b01-b12-20260930-1515
MemRelay-Resource: 0e41749e-828a-45e2-a309-5681dd2693e9
This commit is contained in:
2026-09-30 15:24:40 +08:00
parent 55eacd66b3
commit 978cebb291
2 changed files with 71 additions and 0 deletions
+4
View File
@@ -135,6 +135,10 @@
{ {
"kind": "directory", "kind": "directory",
"value": "e:/code/nixmsg-wt/r2-h" "value": "e:/code/nixmsg-wt/r2-h"
},
{
"kind": "directory",
"value": "e:/code/nixmsg-wt/r2-k"
} }
], ],
"created_at": "2026-09-29T15:42:27.642284+00:00", "created_at": "2026-09-29T15:42:27.642284+00:00",
@@ -0,0 +1,67 @@
---
title: Checkpoint 2026-09-30 07:24:38 UTC [fd8b91d2c7]
type: checkpoint
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-30-07-24-38-utc-fd8b91d2c7
stable_id: 0e41749e-828a-45e2-a309-5681dd2693e9
scope: project
memory_type: checkpoint
project_id: 25464650-ed5d-440e-b362-190f2852d451
usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998
status: active
revision: 1
request_id: chk-broker-b01-b12-20260930-1515
created_at: '2026-09-30T07:24:38.343182+00:00'
updated_at: '2026-09-30T07:24:38.343182+00:00'
tags:
- ready-to-merge
- lane/broker
- B-01
- B-02
- B-03
- B-04
- B-05
- B-06
- B-07
- B-08
- B-09
- B-10
- B-11
- B-12
---
## 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
## 提交
- `da43385` fix: 在 OnConnect 把 mochi 发送配额置 0 规避死锁(B-01 #8)
- `b5b63ed` fix: 大帧名额按 PacketID 在 PUBACK 与断线时归还(B-02 #9)
- `4216072` fix: 认证失败不泄漏连接表并脱敏 mochi 整包日志(B-05 #12、B-07 #14)
- `8b84584` fix: 完成 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 主工作区改。