Files
MemRelay/projects/25464650-ed5d-440e-b362-190f2852d451/Checkpoint 2026-09-30 07-24-38 UTC [fd8b91d2c7].md
T
memrelay 978cebb291 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
2026-09-30 15:24:40 +08:00

2.7 KiB
Raw Blame History

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
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 主工作区改。