Documentation
¶
Index ¶
- func Wrap[Req, Resp proto.Message](handler func(context.Context, Req) (Resp, error)) func(context.Context, proto.Message) (proto.Message, error)
- type RPCManager
- func (g *RPCManager) AddCipher(usr int64, cipher crypto.Cipher) error
- func (g *RPCManager) AddHandler(router string, handler impl.RequestHandler, ...)
- func (g *RPCManager) AddLocalCache(cacheAware cache.Cache) *RPCManager
- func (g *RPCManager) AddRedisCache(cacheAware cache.Cache) *RPCManager
- func (g *RPCManager) GetCipher() map[int64]crypto.Cipher
- func (g *RPCManager) GetLocalCache() cache.Cache
- func (g *RPCManager) GetRedisCache() cache.Cache
- func (g *RPCManager) StartServer(addr string) error
- func (g *RPCManager) StartServerByTimeout(addr string, timeout int) error
- func (g *RPCManager) StopServer() error
- func (g *RPCManager) StopServerByTimeout(timeout time.Duration) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Wrap ¶ added in v1.1.0
func Wrap[Req, Resp proto.Message](handler func(context.Context, Req) (Resp, error)) func(context.Context, proto.Message) (proto.Message, error)
Wrap 创建类型安全的handler包装器,避免运行时反射开销 Req 和 Resp 是具体的 proto.Message 指针类型(如 *pb.TestRequest/*pb.TestResponse) 核心:极简、高效,错误完全透传,仅做必要的nil/类型校验
Types ¶
type RPCManager ¶ added in v1.1.0
type RPCManager struct {
// contains filtered or unexported fields
}
func (*RPCManager) AddCipher ¶ added in v1.1.0
func (g *RPCManager) AddCipher(usr int64, cipher crypto.Cipher) error
AddCipher 注册某一客户端用户 Cipher:*crypto.Ed25519Object(CreateEd25519WithBase64:服务端私钥 + 该客户端公钥)。 RPCX 当前仅明文 P=0:s=SHA256(规范字段),e=Ed25519.Sign(SHA256(规范字段))。
func (*RPCManager) AddHandler ¶ added in v1.1.0
func (g *RPCManager) AddHandler(router string, handler impl.RequestHandler, constructor impl.RequestConstructor)
AddHandler 注册业务处理器 新增构造函数参数,转发到 impl.SetHandler
func (*RPCManager) AddLocalCache ¶ added in v1.1.0
func (g *RPCManager) AddLocalCache(cacheAware cache.Cache) *RPCManager
AddLocalCache 增加本地缓存实例
func (*RPCManager) AddRedisCache ¶ added in v1.1.0
func (g *RPCManager) AddRedisCache(cacheAware cache.Cache) *RPCManager
AddRedisCache 增加Redis缓存实例
func (*RPCManager) GetCipher ¶ added in v1.1.0
func (g *RPCManager) GetCipher() map[int64]crypto.Cipher
GetCipher 获取cipher密钥列表 (实现ConfigProvider接口)
func (*RPCManager) GetLocalCache ¶ added in v1.1.0
func (g *RPCManager) GetLocalCache() cache.Cache
GetLocalCache 获取本地缓存
func (*RPCManager) GetRedisCache ¶ added in v1.1.0
func (g *RPCManager) GetRedisCache() cache.Cache
GetRedisCache 获取Redis缓存
func (*RPCManager) StartServer ¶ added in v1.1.0
func (g *RPCManager) StartServer(addr string) error
StartServer 启动GRPC服务
func (*RPCManager) StartServerByTimeout ¶ added in v1.1.0
func (g *RPCManager) StartServerByTimeout(addr string, timeout int) error
StartServerByTimeout 带超时的启动GRPC服务
func (*RPCManager) StopServer ¶ added in v1.1.0
func (g *RPCManager) StopServer() error
StopServer 停止GRPC服务
func (*RPCManager) StopServerByTimeout ¶ added in v1.1.0
func (g *RPCManager) StopServerByTimeout(timeout time.Duration) error
StopServerByTimeout 带超时的停止GRPC服务
Click to show internal directories.
Click to hide internal directories.