discovery

package
v0.0.0-...-241780c Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2021 License: GPL-3.0, Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewService

func NewService(config Config, sup Support) *service

NewService creates a new discovery service instance

Types

type AccessControlSupport

type AccessControlSupport interface {
	// Eligible returns whether the given peer is eligible for receiving
	// service from the discovery service for a given channel
	EligibleForService(channel string, data protoutil.SignedData) error
}

AccessControlSupport checks if clients are eligible of being serviced

type Config

type Config struct {
	TLS                          bool
	AuthCacheEnabled             bool
	AuthCacheMaxSize             int
	AuthCachePurgeRetentionRatio float64
}

Config defines the configuration of the discovery service

func (Config) String

func (c Config) String() string

String returns a string representation of this Config

type ConfigSequenceSupport

type ConfigSequenceSupport interface {
	// ConfigSequence returns the configuration sequence of the a given channel
	ConfigSequence(channel string) uint64
}

ConfigSequenceSupport returns the config sequence of the given channel

type ConfigSupport

type ConfigSupport interface {
	// Config returns the channel's configuration
	Config(channel string) (*discprotos.ConfigResult, error)
}

ConfigSupport provides access to channel configuration

type EndorsementSupport

type EndorsementSupport interface {
	// PeersForEndorsement returns an EndorsementDescriptor for a given set of peers, channel, and chaincode
	PeersForEndorsement(channel common.ChannelID, interest *discprotos.ChaincodeInterest) (*discprotos.EndorsementDescriptor, error)

	// PeersAuthorizedByCriteria returns the peers of the channel that are authorized by the given chaincode interest
	// That is - taking in account if the chaincode(s) in the interest are installed on the peers, and also
	// taking in account whether the peers are part of the collections of the chaincodes.
	// If a nil interest, or an empty interest is passed - no filtering is done.
	PeersAuthorizedByCriteria(chainID common.ChannelID, interest *discprotos.ChaincodeInterest) (discovery.Members, error)
}

EndorsementSupport provides knowledge of endorsement policy selection for chaincodes

type GossipSupport

type GossipSupport interface {
	// ChannelExists returns whether a given channel exists or not
	ChannelExists(channel string) bool

	// PeersOfChannel returns the NetworkMembers considered alive
	// and also subscribed to the channel given
	PeersOfChannel(common.ChannelID) discovery.Members

	// Peers returns the NetworkMembers considered alive
	Peers() discovery.Members

	// IdentityInfo returns identity information about peers
	IdentityInfo() api.PeerIdentitySet
}

GossipSupport aggregates abilities that the gossip module provides to the discovery service, such as knowing information about peers

type Support

Support defines an interface that allows the discovery service to obtain information that other peer components have

Directories

Path Synopsis
cmd
acl
gossip/mocks
Code generated by counterfeiter.
Code generated by counterfeiter.
mocks
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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