types

package
v0.30.0 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2020 License: Apache-2.0 Imports: 8 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SocketType

func SocketType(listenAddr string) string

---------------------------------------- SOCKETS

Determine if its a unix or tcp socket. If tcp, must specify the port; `0.0.0.0` will return incorrectly as "unix" since there's no port TODO: deprecate

Types

type EventSubscriber

type EventSubscriber interface {
	Subscribe(ctx context.Context, subscriber string, query tmpubsub.Query, out chan<- interface{}) error
	Unsubscribe(ctx context.Context, subscriber string, query tmpubsub.Query) error
	UnsubscribeAll(ctx context.Context, subscriber string) error
}

EventSubscriber mirros tendermint/tendermint/types.EventBusSubscriber

type RPCError

type RPCError struct {
	Code    RPCErrorCode `json:"code"`
	Message string       `json:"message"`
	Data    string       `json:"data,omitempty"`
}

func (RPCError) Error

func (err RPCError) Error() string

func (*RPCError) HTTPStatusCode

func (err *RPCError) HTTPStatusCode() int

type RPCErrorCode

type RPCErrorCode int

From JSONRPC 2.0 spec

const (
	RPCErrorCodeParseError     RPCErrorCode = -32700
	RPCErrorCodeInvalidRequest RPCErrorCode = -32600
	RPCErrorCodeMethodNotFound RPCErrorCode = -32601
	RPCErrorCodeInvalidParams  RPCErrorCode = -32602
	RPCErrorCodeInternalError  RPCErrorCode = -32603
	RPCErrorCodeServerError    RPCErrorCode = -32000
)

func (RPCErrorCode) Error

func (code RPCErrorCode) Error() string

func (RPCErrorCode) HTTPStatusCode

func (code RPCErrorCode) HTTPStatusCode() int

func (RPCErrorCode) String

func (code RPCErrorCode) String() string

type RPCRequest

type RPCRequest struct {
	JSONRPC string          `json:"jsonrpc"`
	ID      string          `json:"id"`
	Method  string          `json:"method"`
	Params  json.RawMessage `json:"params"` // must be map[string]interface{} or []interface{}
}

func ArrayToRequest

func ArrayToRequest(id string, method string, params []interface{}) (RPCRequest, error)

func MapToRequest

func MapToRequest(id string, method string, params map[string]interface{}) (RPCRequest, error)

func NewRPCRequest

func NewRPCRequest(id string, method string, params json.RawMessage) RPCRequest

func (RPCRequest) String

func (req RPCRequest) String() string

type RPCResponse

type RPCResponse struct {
	JSONRPC string          `json:"jsonrpc"`
	ID      string          `json:"id"`
	Result  json.RawMessage `json:"result,omitempty"`
	Error   *RPCError       `json:"error,omitempty"`
}

func NewRPCErrorResponse

func NewRPCErrorResponse(id string, code RPCErrorCode, data string) RPCResponse

func NewRPCSuccessResponse

func NewRPCSuccessResponse(id string, res interface{}) RPCResponse

func RPCInternalError

func RPCInternalError(id string, err error) RPCResponse

func RPCInvalidParamsError

func RPCInvalidParamsError(id string, err error) RPCResponse

func RPCInvalidRequestError

func RPCInvalidRequestError(id string, err error) RPCResponse

func RPCMethodNotFoundError

func RPCMethodNotFoundError(id string) RPCResponse

func RPCParseError

func RPCParseError(id string, err error) RPCResponse

func RPCServerError

func RPCServerError(id string, err error) RPCResponse

func (RPCResponse) String

func (resp RPCResponse) String() string

type WSRPCConnection

type WSRPCConnection interface {
	GetRemoteAddr() string
	WriteRPCResponse(resp RPCResponse)
	TryWriteRPCResponse(resp RPCResponse) bool
	GetEventSubscriber() EventSubscriber
}

*wsConnection implements this interface.

type WSRPCContext

type WSRPCContext struct {
	Request RPCRequest
	WSRPCConnection
}

websocket-only RPCFuncs take this as the first parameter.

Jump to

Keyboard shortcuts

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