Documentation
¶
Index ¶
- func ClearAllHandlers()
- func GetAllHandlers() map[string]HandlerEntry
- func GetHandler(router string) (RequestHandler, RequestConstructor)
- func GetSharedKey(c cache.Cache, cipher crypto.Cipher) ([]byte, error)
- func PackAny(data proto.Message) (*anypb.Any, error)
- func SetHandler(router string, handler RequestHandler, constructor RequestConstructor)
- func Signature(key, d, n []byte, t, p int64, r string, u int64) ([]byte, error)
- func UnpackAny(anyData *anypb.Any, target proto.Message) error
- type CommonWorker
- type ConfigProvider
- type HandlerEntry
- type RequestConstructor
- type RequestHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ClearAllHandlers ¶ added in v1.1.0
func ClearAllHandlers()
ClearAllHandlers 清空所有已注册的业务处理器 注意: 此方法主要用于测试场景,在生产环境中应谨慎使用
func GetAllHandlers ¶ added in v1.1.0
func GetAllHandlers() map[string]HandlerEntry
GetAllHandlers 获取所有已注册的业务处理器 返回: 包含所有路由和对应处理器映射的map副本,防止外部修改原始数据
func GetHandler ¶ added in v1.1.0
func GetHandler(router string) (RequestHandler, RequestConstructor)
GetHandler 根据路由获取对应的业务处理器 router: 路由标识符,用于匹配具体的业务处理逻辑 返回: 如果找到对应的处理器则返回,否则返回nil GetHandler 获取:返回处理器 + 构造函数(确保非 nil)
func GetSharedKey ¶ added in v1.1.0
GetSharedKey 获取ECDH密钥协商生成的共享密钥,并通过缓存优化性能 c: 缓存实例,用于存储加密后的共享密钥 cipher: 包含ECDSA密钥对的加密器,用于密钥协商 返回: 协商后的共享密钥和可能的错误信息
func PackAny ¶ added in v1.1.0
PackAny 将protobuf消息包装为Any类型,便于传输和类型擦除 data: 需要包装的protobuf消息对象 返回: 包装后的Any对象和可能的错误信息
func SetHandler ¶ added in v1.1.0
func SetHandler(router string, handler RequestHandler, constructor RequestConstructor)
SetHandler 注册:同时传入处理器 + 构造函数
Types ¶
type CommonWorker ¶ added in v1.1.0
type CommonWorker struct {
pb.UnimplementedCommonWorkerServer
ConfigProvider ConfigProvider // 配置提供者接口
}
func (*CommonWorker) Do ¶ added in v1.1.0
func (self *CommonWorker) Do(ctx context.Context, req *pb.CommonRequest) (*pb.CommonResponse, error)
Do 统一的RPC业务请求处理入口,实现完整的请求生命周期 ctx: 请求上下文,包含超时、元数据等信息 req: 通用请求对象,包含加密数据、签名、路由等信息 返回: 通用响应对象和可能的处理错误
func (*CommonWorker) GetCipher ¶ added in v1.1.0
func (self *CommonWorker) GetCipher() map[int64]crypto.Cipher
GetCipher 获取RSA/ECDSA密钥对列表,用于数字签名验证 返回: 配置的RSA密钥列表,如果ConfigProvider未设置则返回nil
func (*CommonWorker) GetLocalCache ¶ added in v1.1.0
func (self *CommonWorker) GetLocalCache() cache.Cache
GetLocalCache 获取本地缓存实例,用于存储共享密钥等临时数据 返回: 本地缓存实例,如果ConfigProvider未设置则返回nil
func (*CommonWorker) GetRedisCache ¶ added in v1.1.0
func (self *CommonWorker) GetRedisCache() cache.Cache
GetRedisCache 获取Redis分布式缓存实例,用于跨服务数据共享 返回: Redis缓存实例,如果ConfigProvider未设置则返回nil
type ConfigProvider ¶ added in v1.1.0
type ConfigProvider interface {
GetCipher() map[int64]crypto.Cipher
GetLocalCache() cache.Cache
GetRedisCache() cache.Cache
}
ConfigProvider 配置提供者接口
type HandlerEntry ¶ added in v1.1.0
type HandlerEntry struct {
Handler RequestHandler // 原业务处理器
Constructor RequestConstructor // 请求对象构造函数(new object 方法)
}
2. 定义路由项:绑定处理器 + 构造函数
type RequestConstructor ¶ added in v1.1.0
1. 定义请求对象构造函数:负责返回非 nil 的业务请求实例(核心) 替代原来的 RequestType(),编译期保证返回非 nil