add new funcs for NodeGroup
This commit is contained in:
@ -34,7 +34,7 @@ func (c *Chain) Route(network, address string) (r *Route) {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
node := group.filter(address).Next()
|
node := group.FilterAddr(address).Next()
|
||||||
if node == nil {
|
if node == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,10 @@ func (g *NodeGroup) AddNode(node *Node) {
|
|||||||
g.nodes = append(g.nodes, node)
|
g.nodes = append(g.nodes, node)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (g *NodeGroup) Nodes() []*Node {
|
||||||
|
return g.nodes
|
||||||
|
}
|
||||||
|
|
||||||
func (g *NodeGroup) WithSelector(selector Selector) *NodeGroup {
|
func (g *NodeGroup) WithSelector(selector Selector) *NodeGroup {
|
||||||
g.selector = selector
|
g.selector = selector
|
||||||
return g
|
return g
|
||||||
@ -51,7 +55,7 @@ func (g *NodeGroup) WithBypass(bypass bypass.Bypass) *NodeGroup {
|
|||||||
return g
|
return g
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *NodeGroup) filter(addr string) *NodeGroup {
|
func (g *NodeGroup) FilterAddr(addr string) *NodeGroup {
|
||||||
var nodes []*Node
|
var nodes []*Node
|
||||||
for _, node := range g.nodes {
|
for _, node := range g.nodes {
|
||||||
if node.Bypass == nil || !node.Bypass.Contains(addr) {
|
if node.Bypass == nil || !node.Bypass.Contains(addr) {
|
||||||
|
Reference in New Issue
Block a user