18 lines
595 B
Go
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)
|
|
}
|