rpcpcsr

package
v0.2.35 Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2024 License: LGPL-2.1 Imports: 25 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUndeliverable                = errors.New("rpc: undeliverable")                     // 无法投递
	ErrTerminated                   = errors.New("rpc: processor terminated")              // 已终止处理
	ErrEntityNotFound               = errors.New("rpc: routing to entity not found")       // 找不到路由会话映射的实体
	ErrSessionNotFound              = errors.New("rpc: routing to session not found")      // 找不到路由实体映射的会话
	ErrGroupNotFound                = errors.New("rpc: group not found")                   // 找不到分组
	ErrGroupChanIsFull              = errors.New("rpc: group send data channel is full")   // 分组发送数据的channel已满
	ErrDistEntityNotFound           = errors.New("rpc: distributed entity not found")      // 找不到分布式实体
	ErrDistEntityNodeNotFound       = errors.New("rpc: distributed entity node not found") // 找不到分布式实体的服务节点
	ErrIncorrectDestAddress         = errors.New("rpc: incorrect destination Address")     // 错误的目的地址
	ErrPluginNotFound               = errors.New("rpc: plugin not found")                  // 找不到插件
	ErrMethodNotFound               = errors.New("rpc: method not found")                  // 找不到方法
	ErrComponentNotFound            = errors.New("rpc: component not found")               // 找不到组件
	ErrMethodParameterCountMismatch = errors.New("rpc: method parameter count mismatch")   // 方法参数数量不匹配
	ErrMethodParameterTypeMismatch  = errors.New("rpc: method parameter type mismatch")    // 方法参数类型不匹配
	ErrPermissionDenied             = errors.New("rpc: permission denied")                 // 权限不足
)

Functions

func CallEntity

func CallEntity(servCtx service.Context, callChain rpcstack.CallChain, entityId uid.Id, component, method string, args variant.Array) (asyncRet async.AsyncRet, err error)

func CallRuntime

func CallRuntime(servCtx service.Context, callChain rpcstack.CallChain, entityId uid.Id, plugin, method string, args variant.Array) (asyncRet async.AsyncRet, err error)

func CallService

func CallService(servCtx service.Context, callChain rpcstack.CallChain, plugin, method string, args variant.Array) (rets variant.Array, err error)

func NewForwardProcessor

func NewForwardProcessor(transitService string, mc gap.IMsgCreator, permValidator PermissionValidator) any

NewForwardProcessor RPC转发处理器,用于S<->G的通信

func NewGateProcessor

func NewGateProcessor(mc gap.IMsgCreator) any

NewGateProcessor 创建网关RPC处理器,用于C<->G的通信

func NewServiceProcessor

func NewServiceProcessor(permValidator PermissionValidator) any

NewServiceProcessor 创建分布式服务间的RPC处理器

Types

type IDeliverer

type IDeliverer interface {
	// Match 是否匹配
	Match(ctx service.Context, dst string, callChain rpcstack.CallChain, path string, oneWay bool) bool
	// Request 请求
	Request(ctx service.Context, dst string, callChain rpcstack.CallChain, path string, args []any) async.AsyncRet
	// Notify 通知
	Notify(ctx service.Context, dst string, callChain rpcstack.CallChain, path string, args []any) error
}

IDeliverer RPC投递器接口

type LifecycleInit

type LifecycleInit interface {
	Init(ctx service.Context)
}

LifecycleInit RPC处理器生命周期开始

type LifecycleShut

type LifecycleShut interface {
	Shut(ctx service.Context)
}

LifecycleShut RPC处理器生命周期结束

type PermissionValidator

type PermissionValidator = generic.DelegateFunc2[rpcstack.CallChain, callpath.CallPath, bool]

PermissionValidator 权限验证器

Jump to

Keyboard shortcuts

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