MCPcopy Create free account
hub / github.com/0xUnixIO/pulse / closeFromHub

Method closeFromHub

internal/nodehub/stream.go:77–87  ·  view source on GitHub ↗

closeFromHub 由 hub 内部触发的终结(node 回了终态帧 / 连接断开),不发 cancel。

(endErr error)

Source from the content-addressed store, hash-verified

75
76// closeFromHub 由 hub 内部触发的终结(node 回了终态帧 / 连接断开),不发 cancel。
77func (s *Stream) closeFromHub(endErr error) {
78 s.closeOnce.Do(func() {
79 s.conn.streamSubs.Delete(s.reqID)
80 s.mu.Lock()
81 s.err = endErr
82 s.closed = true
83 s.mu.Unlock()
84 close(s.done)
85 close(s.frames)
86 })
87}
88
89// deliver 把一帧投递到 frames 通道。投递在 mu 保护下检查 closed,避免向已关闭通道写入。
90// frames 缓冲不足时阻塞等待消费方,但若同时 Close 触发则立即放弃(done 兜底)。

Callers 2

dispatchMethod · 0.80
closeMethod · 0.80

Calls 1

DeleteMethod · 0.65

Tested by

no test coverage detected