orderers

package
v1.4.0-rc1.0...-b3f6615 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionSource

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

func NewConnectionSource

func NewConnectionSource(logger *flogging.FabricLogger, overrides map[string]*Endpoint, selfEndpoint string) *ConnectionSource

func (*ConnectionSource) Endpoints

func (cs *ConnectionSource) Endpoints() []*Endpoint

func (*ConnectionSource) RandomEndpoint

func (cs *ConnectionSource) RandomEndpoint() (*Endpoint, error)

RandomEndpoint returns a random endpoint.

func (*ConnectionSource) ShuffledEndpoints

func (cs *ConnectionSource) ShuffledEndpoints() []*Endpoint

ShuffledEndpoints returns a shuffled array of endpoints in a new slice.

func (*ConnectionSource) Update

func (cs *ConnectionSource) Update(globalAddrs []string, orgs map[string]OrdererOrg)

Update calculates whether there was a change in the endpoints or certificates, and updates the endpoint if there was a change. When endpoints are updated, all the 'refreshed' channels of the old endpoints are closed and a new set of endpoints is prepared.

Update skips the self-endpoint (if not empty) when preparing the endpoint array. However, changes to the self-endpoint do trigger the refresh of all the endpoints.

type ConnectionSourceCreator

type ConnectionSourceCreator interface {
	// CreateConnectionSource creates a ConnectionSourcer implementation.
	// In a peer, selfEndpoint == "";
	// In an orderer selfEndpoint carries the (delivery service) endpoint of the orderer.
	CreateConnectionSource(logger *flogging.FabricLogger, selfEndpoint string) ConnectionSourcer
}

type ConnectionSourceFactory

type ConnectionSourceFactory struct {
	Overrides map[string]*Endpoint
}

func (*ConnectionSourceFactory) CreateConnectionSource

func (f *ConnectionSourceFactory) CreateConnectionSource(logger *flogging.FabricLogger, selfEndpoint string) ConnectionSourcer

type ConnectionSourcer

type ConnectionSourcer interface {
	RandomEndpoint() (*Endpoint, error)
	ShuffledEndpoints() []*Endpoint
	Update(globalAddrs []string, orgs map[string]OrdererOrg)
}

type Endpoint

type Endpoint struct {
	Address   string
	RootCerts [][]byte
	Refreshed chan struct{}
}

func (*Endpoint) String

func (e *Endpoint) String() string

type OrdererOrg

type OrdererOrg struct {
	Addresses []string
	RootCerts [][]byte
}

Jump to

Keyboard shortcuts

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