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
This commit is contained in:
+59
@@ -0,0 +1,59 @@
|
|||||||
|
---
|
||||||
|
title: Checkpoint 2026-09-29 22:51:28 UTC [2fdc51067a]
|
||||||
|
type: checkpoint
|
||||||
|
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-22-51-28-utc-2fdc51067a
|
||||||
|
stable_id: 27de0ed5-9250-4b4c-8a65-bbca569181ac
|
||||||
|
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: n-connect-n1n2-20260930-ready
|
||||||
|
created_at: '2026-09-29T22:51:28.201592+00:00'
|
||||||
|
updated_at: '2026-09-29T22:51:28.201592+00:00'
|
||||||
|
tags:
|
||||||
|
- 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` 勿动。
|
||||||
Reference in New Issue
Block a user