multiclient

package
v0.4.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2022 License: Apache-2.0, BSD-2-Clause Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MultiClient

type MultiClient struct {
	Timeout time.Duration
	// contains filtered or unexported fields
}

MultiClient allows to send webapi requests in parallel to multiple wasp nodes

func New

func New(hosts []string, httpClient ...func() http.Client) *MultiClient

New creates a new instance of MultiClient

func (*MultiClient) ActivateChain

func (m *MultiClient) ActivateChain(chainID isc.ChainID) error

ActivateChain sends a request to activate a chain in all wasp nodes

func (*MultiClient) DKSharesGet

func (m *MultiClient) DKSharesGet(sharedAddress iotago.Address) ([]*model.DKSharesInfo, error)

DKSharesGet retrieves distributed key info with specific ChainID from multiple hosts.

func (*MultiClient) DeactivateChain

func (m *MultiClient) DeactivateChain(chainID isc.ChainID) error

DeactivateChain sends a request to deactivate a chain in all wasp nodes

func (*MultiClient) Do

func (m *MultiClient) Do(f func(int, *client.WaspClient) error) error

Do executes a callback once for each node in parallel, then wraps all error results into a single one

func (*MultiClient) DoWithQuorum

func (m *MultiClient) DoWithQuorum(f func(int, *client.WaspClient) error, quorum int) error

Do executes a callback once for each node in parallel, then wraps all error results into a single one

func (*MultiClient) Len

func (m *MultiClient) Len() int

func (*MultiClient) PutChainRecord

func (m *MultiClient) PutChainRecord(bd *registry.ChainRecord) error

PutChainRecord calls PutChainRecord in all wasp nodes

func (*MultiClient) WaitUntilAllRequestsProcessed

func (m *MultiClient) WaitUntilAllRequestsProcessed(chainID isc.ChainID, tx *iotago.Transaction, timeout time.Duration) ([]*isc.Receipt, error)

WaitUntilAllRequestsProcessed blocks until all requests in the given transaction have been processed by all nodes

func (*MultiClient) WaitUntilAllRequestsProcessedSuccessfully added in v0.3.0

func (m *MultiClient) WaitUntilAllRequestsProcessedSuccessfully(chainID isc.ChainID, tx *iotago.Transaction, timeout time.Duration) ([]*isc.Receipt, error)

WaitUntilAllRequestsProcessedSuccessfully is similar to WaitUntilAllRequestsProcessed but also checks the receipts and return an error if any of the requests was processed with an error

func (*MultiClient) WaitUntilRequestProcessed

func (m *MultiClient) WaitUntilRequestProcessed(chainID isc.ChainID, reqID isc.RequestID, timeout time.Duration) (*isc.Receipt, error)

WaitUntilRequestProcessed blocks until the request has been processed by all nodes

func (*MultiClient) WaitUntilRequestProcessedSuccessfully added in v0.3.0

func (m *MultiClient) WaitUntilRequestProcessedSuccessfully(chainID isc.ChainID, reqID isc.RequestID, timeout time.Duration) (*isc.Receipt, error)

WaitUntilRequestProcessedSuccessfully is similar to WaitUntilRequestProcessed, but also checks the receipt and return an error if the request was processed with an error

Jump to

Keyboard shortcuts

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