Files
MemRelay/projects/25464650-ed5d-440e-b362-190f2852d451/Checkpoint 2026-09-29 22-51-28 UTC [2fdc51067a].md
T
memrelay d34ebb5623 create: Checkpoint 2026-09-29 22:51:28 UTC [2fdc51067a]
MemRelay-Operation: checkpoint-save:n-connect-n1n2-20260930-ready
MemRelay-Resource: 27de0ed5-9250-4b4c-8a65-bbca569181ac
2026-09-30 06:51:38 +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-29 22:51:28 UTC [2fdc51067a] checkpoint main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-22-51-28-utc-2fdc51067a 27de0ed5-9250-4b4c-8a65-bbca569181ac project checkpoint 25464650-ed5d-440e-b362-190f2852d451 0c9feb46-d06e-43cd-9ef0-c5813c84a998 active 1 n-connect-n1n2-20260930-ready 2026-09-29T22:51:28.201592+00:00 2026-09-29T22:51:28.201592+00:00
ready-to-merge
line-N
n1
n2
feat/n-connect

检查点:连接 N · N1+N2 ready-to-merge

完成内容

  • N1 internal/listener:首字节识别(放回)、10s 超时、TLS(无 NextProtos)、证书按 mtime 每小时重载、admin 分离与 404、通道 Listener、路由骨架、受信任代理 XFF、端口 0 写 listen.addr/admin.addr。
  • N2 internal/broker:mochi InlineClient 装配约束、coder/websocket /mqtt、连接随机代号、心跳校正、Authenticator 接口(默认拒绝)、每端串行上行队列 256、下行大小检查与大帧名额、QoS 选择由 PublishOpts。
  • 未改 cmd/nixmsg、未改 internal/protocol 帧定义、未做 N3。

分支 / 路径

  • 分支:feat/n-connect(已推送 origin,未推 main,未强推)
  • 工作树:E:\code\NixMsg-wt\n
  • tip:151707ba093b8d4bab6dc24414a556c4bd8a9bfb
  • 基于:origin/main @ 22c56d1
  • 提交:
    1. 6e5179f feat: 实现端口识别、TLS 证书重载与路由骨架
    2. 151707b feat: 实现 WebSocket、mochi broker 与下行发布

验证

  • 工作树内 task check 通过(web build、embeddist、golangci-lint 0、go test 含 listener/broker)。

总控合并时要接的入口

  1. listener.New(Options{Listen, AdminListen, DataDir, CertFile, KeyFile, AllowPlaintext, TrustedProxies, ClientHandler, AdminHandler, OnMQTT}) → Start/Close;OnMQTT 调 broker.AttachTCP。
  2. listener.NewMux(RoleClient|RoleAdmin|RoleShared, Handlers{MQTT: broker.WSHandler(proxies), ...})。
  3. broker.New(Options{Authenticator, Uplink});wire 里 Downlink/Conns 用 *broker.Broker。
  4. N3 前 Authenticator 用 Reject 或临时 Allow;N3 替换真实登录。

DEVIATIONS

  • docs/DEVIATIONS.md「连接 N」五条(未接线 cmd、addr 仅 port0、默认拒绝登录、大帧释放、OnPublishDropped 仅日志)。

没做完

  • N3 登录/会话令牌/握手/顶号/30s 握手超时。
  • cmd/nixmsg 接线。
  • OnPublishDropped → M 线清推送标记。
  • 大帧确认超时释放(依赖 M)。

给下个会话

  • 可 ff-merge feat/n-connect;勿改主工作区并行开发;勿强推 main。
  • 主工作区若有无关 ?? 2.0 勿动。