3 Star 6 Fork 7

Gitee 极速下载 / Hyperledger fabric

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/hyperledger/fabric
克隆/下载
api.go 2.85 KB
一键复制 编辑 原始数据 按行查看 历史
/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package discovery
import (
"github.com/hyperledger/fabric/gossip/api"
"github.com/hyperledger/fabric/gossip/common"
"github.com/hyperledger/fabric/gossip/discovery"
common2 "github.com/hyperledger/fabric/protos/common"
discprotos "github.com/hyperledger/fabric/protos/discovery"
)
// AccessControlSupport checks if clients are eligible of being serviced
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 common2.SignedData) error
}
// ConfigSequenceSupport returns the config sequence of the given channel
type ConfigSequenceSupport interface {
// ConfigSequence returns the configuration sequence of the a given channel
ConfigSequence(channel string) uint64
}
//go:generate mockery -name GossipSupport -case underscore -output ../support/mocks/
// GossipSupport aggregates abilities that the gossip module
// provides to the discovery service, such as knowing information about peers
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.ChainID) discovery.Members
// Peers returns the NetworkMembers considered alive
Peers() discovery.Members
// IdentityInfo returns identity information about peers
IdentityInfo() api.PeerIdentitySet
}
// EndorsementSupport provides knowledge of endorsement policy selection
// for chaincodes
type EndorsementSupport interface {
// PeersForEndorsement returns an EndorsementDescriptor for a given set of peers, channel, and chaincode
PeersForEndorsement(channel common.ChainID, 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.ChainID, interest *discprotos.ChaincodeInterest) (discovery.Members, error)
}
// ConfigSupport provides access to channel configuration
type ConfigSupport interface {
// Config returns the channel's configuration
Config(channel string) (*discprotos.ConfigResult, error)
}
// Support defines an interface that allows the discovery service
// to obtain information that other peer components have
type Support interface {
AccessControlSupport
GossipSupport
EndorsementSupport
ConfigSupport
ConfigSequenceSupport
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors/fabric.git
git@gitee.com:mirrors/fabric.git
mirrors
fabric
Hyperledger fabric
v1.3.0

搜索帮助

344bd9b3 5694891 D2dac590 5694891