...

Package filter

import "github.com/hyperledger/fabric/gossip/filter"
Overview
Index

Overview ▾

Variables

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

func AnyMatch(peerPool []discovery.NetworkMember, filters ...RoutingFilter) []discovery.NetworkMember

AnyMatch filters out peers that don't match any of the given filters

func First

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 peers that match the routing filter

type RoutingFilter

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

func CombineRoutingFilters(filters ...RoutingFilter) RoutingFilter

CombineRoutingFilters returns the logical AND of given routing filters