client

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Jan 6, 2023 License: BSD-3-Clause Imports: 14 Imported by: 1

Documentation

Overview

Package client implements client.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	Ping(ctx context.Context) (*rpcpb.PingResponse, error)
	Start(ctx context.Context, execPath string, opts ...OpOption) (*rpcpb.StartResponse, error)
	CreateBlockchains(ctx context.Context, blockchainSpecs []*rpcpb.BlockchainSpec) (*rpcpb.CreateBlockchainsResponse, error)
	CreateSubnets(ctx context.Context, opts ...OpOption) (*rpcpb.CreateSubnetsResponse, error)
	Health(ctx context.Context) (*rpcpb.HealthResponse, error)
	URIs(ctx context.Context) ([]string, error)
	Status(ctx context.Context) (*rpcpb.StatusResponse, error)
	StreamStatus(ctx context.Context, pushInterval time.Duration) (<-chan *rpcpb.ClusterInfo, error)
	RemoveNode(ctx context.Context, name string) (*rpcpb.RemoveNodeResponse, error)
	RestartNode(ctx context.Context, name string, opts ...OpOption) (*rpcpb.RestartNodeResponse, error)
	AddNode(ctx context.Context, name string, execPath string, opts ...OpOption) (*rpcpb.AddNodeResponse, error)
	Stop(ctx context.Context) (*rpcpb.StopResponse, error)
	AttachPeer(ctx context.Context, nodeName string) (*rpcpb.AttachPeerResponse, error)
	SendOutboundMessage(ctx context.Context, nodeName string, peerID string, op uint32, msgBody []byte) (*rpcpb.SendOutboundMessageResponse, error)
	Close() error
	SaveSnapshot(ctx context.Context, snapshotName string) (*rpcpb.SaveSnapshotResponse, error)
	LoadSnapshot(ctx context.Context, snapshotName string, opts ...OpOption) (*rpcpb.LoadSnapshotResponse, error)
	RemoveSnapshot(ctx context.Context, snapshotName string) (*rpcpb.RemoveSnapshotResponse, error)
	GetSnapshotNames(ctx context.Context) ([]string, error)
}

func New

func New(cfg Config, log logging.Logger) (Client, error)

type Config

type Config struct {
	Endpoint    string
	DialTimeout time.Duration
}

type Op

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

type OpOption

type OpOption func(*Op)

func WithBlockchainSpecs

func WithBlockchainSpecs(blockchainSpecs []*rpcpb.BlockchainSpec) OpOption

Slice of BlockchainSpec

func WithChainConfigs

func WithChainConfigs(chainConfigs map[string]string) OpOption

Map from chain name to its configuration json contents.

func WithCustomNodeConfigs

func WithCustomNodeConfigs(customNodeConfigs map[string]string) OpOption

Map from node name to its custom node config

func WithDynamicPorts

func WithDynamicPorts(dynamicPorts bool) OpOption

func WithExecPath

func WithExecPath(execPath string) OpOption

func WithGlobalNodeConfig

func WithGlobalNodeConfig(nodeConfig string) OpOption

func WithNumNodes

func WithNumNodes(numNodes uint32) OpOption

func WithNumSubnets

func WithNumSubnets(numSubnets uint32) OpOption

func WithPluginDir

func WithPluginDir(pluginDir string) OpOption

func WithReassignPortsIfUsed

func WithReassignPortsIfUsed(reassignPortsIfUsed bool) OpOption

func WithRootDataDir

func WithRootDataDir(rootDataDir string) OpOption

func WithSubnetConfigs

func WithSubnetConfigs(subnetConfigs map[string]string) OpOption

Map from subnet id to its configuration json contents.

func WithUpgradeConfigs

func WithUpgradeConfigs(upgradeConfigs map[string]string) OpOption

Map from chain name to its upgrade json contents.

func WithWhitelistedSubnets

func WithWhitelistedSubnets(whitelistedSubnets string) OpOption

Jump to

Keyboard shortcuts

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