discovery

package
v0.0.0-...-579b097 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

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 *peer.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 *peer.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 Service

type Service struct {
	Support
	// contains filtered or unexported fields
}

func NewService

func NewService(config Config, sup Support) *Service

NewService creates a new discovery service instance

func (*Service) Discover

func (s *Service) Discover(ctx context.Context, request *discovery.SignedRequest) (*discovery.Response, error)

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