burrow: github.com/hyperledger/burrow/rpc/lib/client Index | Files

package client

import "github.com/hyperledger/burrow/rpc/lib/client"

Index

Package Files

http_client.go ws_client.go

func MaxReconnectAttempts Uses

func MaxReconnectAttempts(max int) func(*WSClient)

MaxReconnectAttempts sets the maximum number of reconnect attempts before returning an error. It should only be used in the constructor and is not Goroutine-safe.

func OnReconnect Uses

func OnReconnect(cb func()) func(*WSClient)

OnReconnect sets the callback, which will be called every time after successful reconnect.

func PingPeriod Uses

func PingPeriod(pingPeriod time.Duration) func(*WSClient)

PingPeriod sets the duration for sending websocket pings. It should only be used in the constructor - not Goroutine-safe.

func ReadWait Uses

func ReadWait(readWait time.Duration) func(*WSClient)

ReadWait sets the amount of time to wait before a websocket read times out. It should only be used in the constructor and is not Goroutine-safe.

func WriteWait Uses

func WriteWait(writeWait time.Duration) func(*WSClient)

WriteWait sets the amount of time to wait before a websocket write times out. It should only be used in the constructor and is not Goroutine-safe.

type HTTPClient Uses

type HTTPClient interface {
    Call(method string, params map[string]interface{}, result interface{}) (interface{}, error)
}

HTTPClient is a common interface for JSONRPCClient and URIClient.

type JSONRPCClient Uses

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

JSONRPCClient takes params as a slice

func NewJSONRPCClient Uses

func NewJSONRPCClient(remote string) *JSONRPCClient

NewJSONRPCClient returns a JSONRPCClient pointed at the given address.

func (*JSONRPCClient) Call Uses

func (c *JSONRPCClient) Call(method string, params map[string]interface{}, result interface{}) (interface{}, error)

type URIClient Uses

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

URI takes params as a map

func NewURIClient Uses

func NewURIClient(remote string) *URIClient

func (*URIClient) Call Uses

func (c *URIClient) Call(method string, params map[string]interface{}, result interface{}) (interface{}, error)

type WSClient Uses

type WSClient struct {
    service.BaseService

    Address  string // IP:PORT or /path/to/socket
    Endpoint string // /websocket/url/endpoint
    Dialer   func(string, string) (net.Conn, error)

    // Time between sending a ping and receiving a pong. See
    // https://godoc.org/github.com/rcrowley/go-metrics#Timer.
    PingPongLatencyTimer metrics.Timer

    // Single user facing channel to read RPCResponses from, closed only when the client is being stopped.
    ResponsesCh chan types.RPCResponse
    // contains filtered or unexported fields
}

WSClient is a WebSocket client. The methods of WSClient are safe for use by multiple goroutines.

func NewWSClient Uses

func NewWSClient(remoteAddr, endpoint string, options ...func(*WSClient)) *WSClient

NewWSClient returns a new client. See the commentary on the func(*WSClient) functions for a detailed description of how to configure ping period and pong wait time. The endpoint argument must begin with a `/`.

func (*WSClient) Call Uses

func (c *WSClient) Call(ctx context.Context, method string, params map[string]interface{}) error

Call the given method. See Send description.

func (*WSClient) CallWithArrayParams Uses

func (c *WSClient) CallWithArrayParams(ctx context.Context, method string, params []interface{}) error

CallWithArrayParams the given method with params in a form of array. See Send description.

func (*WSClient) IsActive Uses

func (c *WSClient) IsActive() bool

IsActive returns true if the client is running and not reconnecting.

func (*WSClient) IsReconnecting Uses

func (c *WSClient) IsReconnecting() bool

IsReconnecting returns true if the client is reconnecting right now.

func (*WSClient) OnStart Uses

func (c *WSClient) OnStart() error

OnStart implements cmn.Service by dialing a server and creating read and write routines.

func (*WSClient) OnStop Uses

func (c *WSClient) OnStop()

OnStop implements cmn.Service.

func (*WSClient) Send Uses

func (c *WSClient) Send(ctx context.Context, request types.RPCRequest) error

Send the given RPC request to the server. Results will be available on ResponsesCh, errors, if any, on ErrorsCh. Will block until send succeeds or ctx.Done is closed.

func (*WSClient) Stop Uses

func (c *WSClient) Stop() error

Stop overrides cmn.Service#Stop. There is no other way to wait until Quit channel is closed.

func (*WSClient) String Uses

func (c *WSClient) String() string

String returns WS client full address.

func (*WSClient) Subscribe Uses

func (c *WSClient) Subscribe(ctx context.Context, query string) error

Subscribe to a query. Note the server must have a "subscribe" route defined.

func (*WSClient) Unsubscribe Uses

func (c *WSClient) Unsubscribe(ctx context.Context, query string) error

Unsubscribe from a query. Note the server must have a "unsubscribe" route defined.

func (*WSClient) UnsubscribeAll Uses

func (c *WSClient) UnsubscribeAll(ctx context.Context) error

UnsubscribeAll from all. Note the server must have a "unsubscribe_all" route defined.

Package client imports 18 packages (graph). Updated 2020-03-30. Refresh now. Tools for package owners.