- 引入 LogicalConn/TransportConn 分层,ClientConn 保留兼容适配层 - 新增 Stream、Bulk、RecordStream 三条数据面能力及对应控制路径 - 完成 transfer/file 传输内核与状态快照、诊断能力 - 补齐 reconnect、inbound dispatcher、modern psk 等基础模块 - 增加大规模回归、并发与基准测试覆盖 - 更新依赖库
45 lines
729 B
Go
45 lines
729 B
Go
package notify
|
|
|
|
import "sync"
|
|
|
|
type recordRuntime struct {
|
|
mu sync.RWMutex
|
|
handler func(RecordAcceptInfo) error
|
|
}
|
|
|
|
func newRecordRuntime() *recordRuntime {
|
|
return &recordRuntime{}
|
|
}
|
|
|
|
func (r *recordRuntime) setHandler(fn func(RecordAcceptInfo) error) {
|
|
if r == nil {
|
|
return
|
|
}
|
|
r.mu.Lock()
|
|
r.handler = fn
|
|
r.mu.Unlock()
|
|
}
|
|
|
|
func (r *recordRuntime) handlerSnapshot() func(RecordAcceptInfo) error {
|
|
if r == nil {
|
|
return nil
|
|
}
|
|
r.mu.RLock()
|
|
defer r.mu.RUnlock()
|
|
return r.handler
|
|
}
|
|
|
|
func (c *ClientCommon) getRecordRuntime() *recordRuntime {
|
|
if c == nil {
|
|
return nil
|
|
}
|
|
return c.recordRuntime
|
|
}
|
|
|
|
func (s *ServerCommon) getRecordRuntime() *recordRuntime {
|
|
if s == nil {
|
|
return nil
|
|
}
|
|
return s.recordRuntime
|
|
}
|