From 5ccaffd284048542a98321652997a2a29d2f4588 Mon Sep 17 00:00:00 2001 From: Leopold Schabel Date: Wed, 22 Jun 2022 22:04:06 +0200 Subject: [PATCH] pkg/envfile: node filtering helpers --- cmd/rpc/slots/slot.go | 24 +----------------------- pkg/envfile/filter_nodes.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 23 deletions(-) create mode 100644 pkg/envfile/filter_nodes.go diff --git a/cmd/rpc/slots/slot.go b/cmd/rpc/slots/slot.go index f11a069..0bd31c5 100644 --- a/cmd/rpc/slots/slot.go +++ b/cmd/rpc/slots/slot.go @@ -49,28 +49,6 @@ func init() { I0612 20:37:43.805364 916547 slot.go:111] val1.ffm1: slot=137326466 type=root delta=8ms parent=0 */ -func parseOnlyFlag(only string) []string { - if only == "" { - return nil - } - return strings.Split(only, ",") -} - -func filterNodes(nodes []*envv1.RPCNode, only []string) []*envv1.RPCNode { - if len(only) == 0 { - return nodes - } - var filtered []*envv1.RPCNode - for _, node := range nodes { - for _, o := range only { - if node.Name == o { - filtered = append(filtered, node) - } - } - } - return filtered -} - func main() { env, err := envfile.Load(*flagEnv) if err != nil { @@ -86,7 +64,7 @@ func main() { klog.Error(http.ListenAndServe(*flagDebugAddr, nil)) }() - nodes = filterNodes(nodes, parseOnlyFlag(*flagOnly)) + nodes = envfile.FilterNodes(nodes, envfile.ParseOnlyFlag(*flagOnly)) if len(nodes) == 0 { klog.Exitf("No nodes in environment or all nodes filtered") diff --git a/pkg/envfile/filter_nodes.go b/pkg/envfile/filter_nodes.go new file mode 100644 index 0000000..3b5036f --- /dev/null +++ b/pkg/envfile/filter_nodes.go @@ -0,0 +1,29 @@ +package envfile + +import ( + "strings" + + "github.com/certusone/radiance/proto/env/v1" +) + +func ParseOnlyFlag(only string) []string { + if only == "" { + return nil + } + return strings.Split(only, ",") +} + +func FilterNodes(nodes []*envv1.RPCNode, only []string) []*envv1.RPCNode { + if len(only) == 0 { + return nodes + } + var filtered []*envv1.RPCNode + for _, node := range nodes { + for _, o := range only { + if node.Name == o { + filtered = append(filtered, node) + } + } + } + return filtered +}