Files
Meshray-Manager/core/transport/plugin.go
T
2026-06-30 15:14:37 +08:00

18 lines
595 B
Go

package transport
// ProtocolPlugin 协议插件接口
// relay.go 通过这个接口适配不同协议,不感知具体协议细节
type ProtocolPlugin interface {
// IsControlPacket 判断是否为控制包
// 控制包用于建连协商,需要透传到对端
IsControlPacket(packet []byte) bool
// IsDataPacket 判断是否为数据包
// 数据包包含路由标识,需要查表转发
IsDataPacket(packet []byte) bool
// ExtractRouteID 从数据包中提取路由标识
// 返回的 route_id 用于查找对应的本地端口
ExtractRouteID(packet []byte) (uint32, error)
}