Versions in this module Expand all Collapse all v0 v0.0.3 Feb 7, 2021 Changes in this version + const DefaultServiceNameSpace + const LogNameSpace + const MinerNameSpace + const TestNameSpace + var ErrNotificationsUnsupported = errors.New("notifications not supported") + var ErrSubscriptionNotFound = errors.New("subscription not found") + func RPCClientInInitialDownloadError(err, context string) error + func RpcAddressKeyError(fmtStr string, args ...interface{}) error + func RpcDecodeHexError(gotHex string) error + func RpcDeserializationError(fmtStr string, args ...interface{}) error + func RpcDuplicateTxError(fmtStr string, args ...interface{}) error + func RpcInternalError(err, context string) error + func RpcInvalidError(fmtStr string, args ...interface{}) error + func RpcNoTxInfoError(txHash *hash.Hash) error + func RpcRuleError(fmtStr string, args ...interface{}) error + type API struct + NameSpace string + Public bool + Service interface{} + type CodecOption int + const OptionMethodInvocation + const OptionSubscriptions + type Error interface + Error func() string + ErrorCode func() int + type ID string + func NewID() ID + type JsonRequestStatus struct + AverageTime string + Name string + RunningNum int + TotalCalls int + TotalTime string + type Notifier struct + func NotifierFromContext(ctx context.Context) (*Notifier, bool) + func (n *Notifier) Closed() <-chan interface{} + func (n *Notifier) CreateSubscription() *Subscription + func (n *Notifier) Notify(id ID, data interface{}) error + type RequestStatus struct + Method string + Requests []*serverRequest + Service string + TotalCalls uint + TotalTime time.Duration + func NewRequestStatus(sReq *serverRequest) (*RequestStatus, error) + func (rs *RequestStatus) AddRequst(sReq *serverRequest) + func (rs *RequestStatus) GetName() string + func (rs *RequestStatus) RemoveRequst(sReq *serverRequest) + func (rs *RequestStatus) ToJson() *JsonRequestStatus + type RpcServer struct + ReqStatus map[string]*RequestStatus + func NewRPCServer(cfg *config.Config) (*RpcServer, error) + func (s *RpcServer) AddRequstStatus(sReq *serverRequest) + func (s *RpcServer) RegisterService(namespace string, regSvc interface{}) error + func (s *RpcServer) RemoveRequstStatus(sReq *serverRequest) + func (s *RpcServer) RequestedProcessShutdown() chan struct{} + func (s *RpcServer) ServeSingleRequest(ctx context.Context, codec ServerCodec, options CodecOption) + func (s *RpcServer) Start() error + func (s *RpcServer) Stop() + type ServerCodec interface + Close func() + Closed func() <-chan interface{} + CreateErrorResponse func(id interface{}, err Error) interface{} + CreateErrorResponseWithInfo func(id interface{}, err Error, info interface{}) interface{} + CreateNotification func(id, namespace string, event interface{}) interface{} + CreateResponse func(id interface{}, reply interface{}) interface{} + ParseRequestArguments func(argTypes []reflect.Type, params interface{}) ([]reflect.Value, Error) + ReadRequestHeaders func() ([]rpcRequest, bool, Error) + Write func(msg interface{}) error + func NewCodec(rwc io.ReadWriteCloser, encode, decode func(v interface{}) error) ServerCodec + func NewJSONCodec(rwc io.ReadWriteCloser) ServerCodec + type Subscription struct + ID ID + func (s *Subscription) Err() <-chan error