jsonrpc

package
v1.4.3 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2020 License: Apache-2.0 Imports: 27 Imported by: 16

Documentation

Index

Constants

View Source
const (
	// MAX_JSONRPC_ID max jsonrpc request/response id
	MAX_JSONRPC_ID = 0x7FFFFFFF
	// VERSION jsonrpc version
	VERSION = "2.0"
)
View Source
const (
	// Errors defined in the JSON-RPC spec. See
	// http://www.jsonrpc.org/specification#error_object.
	CodeParseError     = -32700
	CodeInvalidRequest = -32600
	CodeMethodNotFound = -32601
	CodeInvalidParams  = -32602
	CodeInternalError  = -32603
)
View Source
const (
	// DefaultMaxSleepTime max sleep interval in accept
	DefaultMaxSleepTime = 1 * time.Second
	// DefaultHTTPRspBufferSize ...
	DefaultHTTPRspBufferSize = 1024
	// PathPrefix ...
	PathPrefix = byte('/')
)
View Source
const (
	// JSONRPC
	//module name
	JSONRPC = "jsonrpc"
)

Variables

View Source
var (

	// Version ...
	Version = "2.0"
)

Functions

func GetProtocol

func GetProtocol() protocol.Protocol

GetProtocol ...

Types

type CodecData

type CodecData struct {
	ID     int64
	Method string
	Args   interface{}
	Error  string
}

CodecData ...

type Error

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

Error response Error

func NewError

func NewError(code int, message string) *Error

NewError ...

func (*Error) Error

func (e *Error) Error() string

type HTTPClient

type HTTPClient struct {
	ID int64
	// contains filtered or unexported fields
}

HTTPClient ...

func NewHTTPClient

func NewHTTPClient(opt *HTTPOptions) *HTTPClient

NewHTTPClient ...

func (*HTTPClient) Call

func (c *HTTPClient) Call(ctx context.Context, service common.URL, req *Request, rsp interface{}) error

Call ...

func (*HTTPClient) Do

func (c *HTTPClient) Do(addr, path string, httpHeader http.Header, body []byte) ([]byte, error)

Do !!The high level of complexity and the likelihood that the fasthttp client has not been extensively used in production means that you would need to expect a very large benefit to justify the adoption of fasthttp today.

func (*HTTPClient) NewRequest

func (c *HTTPClient) NewRequest(service common.URL, method string, args interface{}) *Request

NewRequest ...

type HTTPOptions

type HTTPOptions struct {
	HandshakeTimeout time.Duration
	HTTPTimeout      time.Duration
}

HTTPOptions ...

type JsonrpcExporter

type JsonrpcExporter struct {
	protocol.BaseExporter
}

JsonrpcExporter ...

func NewJsonrpcExporter

func NewJsonrpcExporter(key string, invoker protocol.Invoker, exporterMap *sync.Map) *JsonrpcExporter

NewJsonrpcExporter ...

func (*JsonrpcExporter) Unexport

func (je *JsonrpcExporter) Unexport()

Unexport ...

type JsonrpcInvoker

type JsonrpcInvoker struct {
	protocol.BaseInvoker
	// contains filtered or unexported fields
}

JsonrpcInvoker ...

func NewJsonrpcInvoker

func NewJsonrpcInvoker(url common.URL, client *HTTPClient) *JsonrpcInvoker

NewJsonrpcInvoker ...

func (*JsonrpcInvoker) Invoke

func (ji *JsonrpcInvoker) Invoke(ctx context.Context, invocation protocol.Invocation) protocol.Result

Invoke ...

type JsonrpcProtocol

type JsonrpcProtocol struct {
	protocol.BaseProtocol
	// contains filtered or unexported fields
}

JsonrpcProtocol ...

func NewJsonrpcProtocol

func NewJsonrpcProtocol() *JsonrpcProtocol

NewJsonrpcProtocol ...

func (*JsonrpcProtocol) Destroy

func (jp *JsonrpcProtocol) Destroy()

Destroy ...

func (*JsonrpcProtocol) Export

func (jp *JsonrpcProtocol) Export(invoker protocol.Invoker) protocol.Exporter

Export ...

func (*JsonrpcProtocol) Refer

func (jp *JsonrpcProtocol) Refer(url common.URL) protocol.Invoker

Refer ...

type Request

type Request struct {
	ID int64
	// contains filtered or unexported fields
}

Request ...

type Server

type Server struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Server ...

func NewServer

func NewServer() *Server

NewServer ...

func (*Server) Start

func (s *Server) Start(url common.URL)

Start ...

func (*Server) Stop

func (s *Server) Stop()

Stop ...

type ServerCodec

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

ServerCodec ...

func (*ServerCodec) ReadBody

func (c *ServerCodec) ReadBody(x interface{}) error

ReadBody ...

func (*ServerCodec) ReadHeader

func (c *ServerCodec) ReadHeader(header map[string]string, body []byte) error

ReadHeader ...

func (*ServerCodec) Write

func (c *ServerCodec) Write(errMsg string, x interface{}) ([]byte, error)

Jump to

Keyboard shortcuts

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