26 lines
898 B
Go
26 lines
898 B
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package api
|
|
|
|
import "github.com/hyperledger/fabric/gossip/common"
|
|
|
|
// RoutingFilter defines which peers should receive a certain message,
|
|
// or which peers are eligible of receiving a certain message
|
|
type RoutingFilter func(peerIdentity PeerIdentityType) bool
|
|
|
|
// SubChannelSelectionCriteria describes a way of selecting peers from a sub-channel
|
|
// given their signatures
|
|
type SubChannelSelectionCriteria func(signature PeerSignature) bool
|
|
|
|
// RoutingFilterFactory defines an object that given a CollectionCriteria and a channel,
|
|
// it can ascertain which peers should be aware of the data related to the
|
|
// CollectionCriteria.
|
|
type RoutingFilterFactory interface {
|
|
// Peers returns a RoutingFilter for given channelID and CollectionCriteria
|
|
Peers(common.ChannelID, SubChannelSelectionCriteria) RoutingFilter
|
|
}
|