SetNodeHub 注入 gRPC 长连接 hub,所有节点 RPC 调用都通过此 hub 走 mTLS gRPC。 同时清空缓存:旧的(hub == nil)默认 Client 不应再被复用。
(hub *nodehub.Hub)
| 102 | // SetNodeHub 注入 gRPC 长连接 hub,所有节点 RPC 调用都通过此 hub 走 mTLS gRPC。 |
| 103 | // 同时清空缓存:旧的(hub == nil)默认 Client 不应再被复用。 |
| 104 | func (a *API) SetNodeHub(hub *nodehub.Hub) { |
| 105 | if hub == nil { |
| 106 | return |
| 107 | } |
| 108 | a.hub = hub |
| 109 | a.clientFactory = func(node nodes.Node) *nodes.Client { |
| 110 | return nodes.NewClientWithHub(node.ID, hub) |
| 111 | } |
| 112 | a.clientCache = sync.Map{} |
| 113 | } |
| 114 | |
| 115 | // nodeWithOnline 返回包含 online 字段的节点 JSON map(嵌入原 Node + online)。 |
| 116 | func (a *API) nodeWithOnline(node nodes.Node) map[string]any { |
no test coverage detected