SelectAllPolicy selects all members given
var SelectAllPolicy = func(discovery.NetworkMember) bool { return true }
SelectNonePolicy selects an empty set of members
var SelectNonePolicy = func(discovery.NetworkMember) bool { return false }
func AnyMatch(peerPool []discovery.NetworkMember, filters ...RoutingFilter) []discovery.NetworkMember
AnyMatch filters out peers that don't match any of the given filters
func First(peerPool []discovery.NetworkMember, filter RoutingFilter) *comm.RemotePeer
First returns the first peer that matches the given filter
func SelectPeers(k int, peerPool []discovery.NetworkMember, filter RoutingFilter) []*comm.RemotePeer
SelectPeers returns a slice of peers that match the routing filter
RoutingFilter defines a predicate on a NetworkMember It is used to assert whether a given NetworkMember should be selected for be given a message
type RoutingFilter func(discovery.NetworkMember) bool
func CombineRoutingFilters(filters ...RoutingFilter) RoutingFilter
CombineRoutingFilters returns the logical AND of given routing filters