rpc

package
v0.0.0-...-3458964 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var HandshakeConfig = plugin.HandshakeConfig{
	ProtocolVersion:  1,
	MagicCookieKey:   "SAGOO_PLUGIN",
	MagicCookieValue: "sagoo_plugin",
}

HandshakeConfig 握手配置,插件进程和宿主机进程,都需要保持一致

Functions

func OutJsonRes

func OutJsonRes(code int, message string, data interface{}) string

OutJsonRes 输出json字符串结果

Types

type Protocol

type Protocol interface {
	Info(args string) model.PluginInfo
	Encode(args string) model.JsonRes
	Decode(data model.DataReq) model.JsonRes
}

Protocol RPC协议解析插件接口

type ProtocolRPC

type ProtocolRPC struct {
	Client *rpc.Client
}

ProtocolRPC 基于RPC实现

func (*ProtocolRPC) Decode

func (p *ProtocolRPC) Decode(data model.DataReq) model.JsonRes

func (*ProtocolRPC) Encode

func (p *ProtocolRPC) Encode(args string) model.JsonRes

func (*ProtocolRPC) Info

func (p *ProtocolRPC) Info(args string) model.PluginInfo

type ProtocolRPCServer

type ProtocolRPCServer struct {
	// 内嵌业务接口
	// 插件进程会将实现业务接口的对象赋值给Impl
	Impl Protocol
}

ProtocolRPCServer GreeterRPC的RPC服务器,符合 net/rpc的要求

func (*ProtocolRPCServer) Decode

func (s *ProtocolRPCServer) Decode(args model.DataReq, resp *model.JsonRes) error

func (*ProtocolRPCServer) Encode

func (s *ProtocolRPCServer) Encode(args string, resp *model.JsonRes) error

func (*ProtocolRPCServer) Info

func (s *ProtocolRPCServer) Info(args string, resp *model.PluginInfo) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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