ysjsonrpc

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	InvalidParamsError = NewJsonRPCError(-32700, "Invalid params")
)

Functions

func DefaultReq

func DefaultReq() *jsonRPCReq

func NewJsonRPCRes

func NewJsonRPCRes(req *jsonRPCReq) *jsonRPCRes

func NewJsonRPCResWithError

func NewJsonRPCResWithError(req *jsonRPCReq, err *JsonRPCError) *jsonRPCRes

func NewJsonRPCResWithResult

func NewJsonRPCResWithResult(req *jsonRPCReq, result interface{}) *jsonRPCRes

func NewJsonrpcReq

func NewJsonrpcReq(json string, logger ...*glog.Logger) *jsonRPCReq

Types

type FuncHandler

type FuncHandler func(params interface{}) (result interface{}, err *JsonRPCError)

FuncHandler JsonRPC 处理函数类型,传入 <params> 函数需要根据自己的要求获取数据. 传出参数为 <err> 不为空时返回 error 数据, 否则返回 <result> 数据.

type JsonRPCBase

type JsonRPCBase struct {
	JsonRPC string `json:"jsonrpc"`
	Id      int    `json:"id"`
}

type JsonRPCError

type JsonRPCError struct {
	Code    int         `json:"code,omitempty"`
	Message string      `json:"message,omitempty"`
	Data    interface{} `json:"data,omitempty"`
}

func NewJsonRPCError

func NewJsonRPCError(code int, message string, data ...interface{}) *JsonRPCError

type Manager

type Manager interface {

	// Register 注册处理函数
	Register(string, FuncHandler) error

	// Call 根据 RPC 执行函数
	Call(*jsonRPCReq) *jsonRPCRes

	// CallByString 字符串形式的 RPC 执行函数
	CallByString(string) *jsonRPCRes

	// CallByBytes Byte 数组形式的 RPC 执行函数调用
	CallByBytes([]byte) *jsonRPCRes

	// Run 线程形式运行的 RPC 函数, 结果会在 ResultCh 中
	Run(*jsonRPCReq)

	// RunByString 字符串形式的运行
	RunByString(string)

	// RunByBytes Byte 数组形式的运行
	RunByBytes([]byte)

	// ResultCh 结果通道
	ResultCh() <-chan *jsonRPCRes
}

func Instance

func Instance(name ...string) Manager

Jump to

Keyboard shortcuts

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