Documentation ¶
Index ¶
- Variables
- func AnyMatch(peerPool []discovery.NetworkMember, filters ...RoutingFilter) []discovery.NetworkMember
- func First(peerPool []discovery.NetworkMember, filter RoutingFilter) *comm.RemotePeer
- func SelectPeers(k int, peerPool []discovery.NetworkMember, filter RoutingFilter) []*comm.RemotePeer
- type RoutingFilter
Constants ¶
This section is empty.
Variables ¶
View Source
var SelectAllPolicy = func(discovery.NetworkMember) bool { return true }
SelectAllPolicy selects all members given
View Source
var SelectNonePolicy = func(discovery.NetworkMember) bool { return false }
SelectNonePolicy selects an empty set of members
Functions ¶
func AnyMatch ¶ added in v1.1.1
func AnyMatch(peerPool []discovery.NetworkMember, filters ...RoutingFilter) []discovery.NetworkMember
AnyMatch filters out peers that don't match any of the given filters
func First ¶ added in v1.1.1
func First(peerPool []discovery.NetworkMember, filter RoutingFilter) *comm.RemotePeer
First returns the first peer that matches the given filter
func SelectPeers ¶
func SelectPeers(k int, peerPool []discovery.NetworkMember, filter RoutingFilter) []*comm.RemotePeer
SelectPeers returns a slice of at most k peers randomly chosen from peerPool that match routingFilter filter.
Types ¶
type RoutingFilter ¶
type RoutingFilter func(discovery.NetworkMember) bool
RoutingFilter defines a predicate on a NetworkMember It is used to assert whether a given NetworkMember should be selected for be given a message
func CombineRoutingFilters ¶
func CombineRoutingFilters(filters ...RoutingFilter) RoutingFilter
CombineRoutingFilters returns the logical AND of given routing filters
Click to show internal directories.
Click to hide internal directories.