filter

package
v0.0.0-...-579b097 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

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

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 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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL