rpcx

package
v1.1.34 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Wrap

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 CipherHook

type CipherHook = impl.CipherHook

CipherHook 按客户端用户 ID 动态解析 ML-DSA Cipher(本端私钥 + 对端公钥)。

func CipherHookFromLoader

func CipherHookFromLoader(loader CipherKeyLoader) CipherHook

CipherHookFromLoader 将 CipherKeyLoader 包装为 CipherHook。

type CipherKeyLoader

type CipherKeyLoader func(usr int64) (prkB64, peerPubB64 string, err error)

CipherKeyLoader 从外部源加载本端 ML-DSA 私钥与对端 ML-DSA 公钥(Base64)。

type RPCManager

type RPCManager struct {
	// contains filtered or unexported fields
}

func NewRPCManager

func NewRPCManager() *RPCManager

NewRPCManager 创建GRPC管理器

func (*RPCManager) AddCipherHook

func (g *RPCManager) AddCipherHook(hook CipherHook) error

AddCipherHook 注册 Cipher 动态加载回调:按 usr 解析本端私钥与对端公钥并构造 ML-DSA Cipher。 RPCX 当前仅明文 P=0:s=SHA256(规范字段),e=ML-DSA.Sign(SHA256(规范字段))。

func (*RPCManager) AddHandler

func (g *RPCManager) AddHandler(router string, handler impl.RequestHandler, constructor impl.RequestConstructor)

AddHandler 注册业务处理器 新增构造函数参数,转发到 impl.SetHandler

func (*RPCManager) AddLocalCache

func (g *RPCManager) AddLocalCache(cacheAware cache.Cache) *RPCManager

AddLocalCache 增加本地缓存实例

func (*RPCManager) AddRedisCache

func (g *RPCManager) AddRedisCache(cacheAware cache.Cache) *RPCManager

AddRedisCache 增加Redis缓存实例

func (*RPCManager) GetCipherHook

func (g *RPCManager) GetCipherHook() CipherHook

GetCipherHook 获取 Cipher 动态加载回调(实现 ConfigProvider 接口)。

func (*RPCManager) GetLocalCache

func (g *RPCManager) GetLocalCache() cache.Cache

GetLocalCache 获取本地缓存

func (*RPCManager) GetRedisCache

func (g *RPCManager) GetRedisCache() cache.Cache

GetRedisCache 获取Redis缓存

func (*RPCManager) StartServer

func (g *RPCManager) StartServer(addr string) error

StartServer 启动GRPC服务

func (*RPCManager) StartServerByTimeout

func (g *RPCManager) StartServerByTimeout(addr string, timeout int) error

StartServerByTimeout 带超时的启动GRPC服务

func (*RPCManager) StopServer

func (g *RPCManager) StopServer() error

StopServer 停止GRPC服务

func (*RPCManager) StopServerByTimeout

func (g *RPCManager) StopServerByTimeout(timeout time.Duration) error

StopServerByTimeout 带超时的停止GRPC服务

Directories

Path Synopsis
Package impl 实现 gRPC CommonWorker:P=0 明文;s=SHA256(规范字段);e=ML-DSA.Sign(SHA256(规范字段));Cipher 为 *crypto.MLDSA87Object。
Package impl 实现 gRPC CommonWorker:P=0 明文;s=SHA256(规范字段);e=ML-DSA.Sign(SHA256(规范字段));Cipher 为 *crypto.MLDSA87Object。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL