mirror of
https://github.com/weaveworks/scope.git
synced 2026-02-14 18:09:59 +00:00
pass render filters and maps by value rather than reference
They are small and don't carry mutable state, so there is no point passing them by reference.
This commit is contained in:
@@ -108,7 +108,7 @@ type Filter struct {
|
||||
|
||||
// MakeFilter makes a new Filter (that ignores pseudo nodes).
|
||||
func MakeFilter(f FilterFunc, r Renderer) Renderer {
|
||||
return &Filter{
|
||||
return Filter{
|
||||
Renderer: r,
|
||||
FilterFunc: func(n report.Node) bool {
|
||||
return n.Topology == Pseudo || f(n)
|
||||
@@ -118,7 +118,7 @@ func MakeFilter(f FilterFunc, r Renderer) Renderer {
|
||||
|
||||
// MakeFilterPseudo makes a new Filter that will not ignore pseudo nodes.
|
||||
func MakeFilterPseudo(f FilterFunc, r Renderer) Renderer {
|
||||
return &Filter{
|
||||
return Filter{
|
||||
Renderer: r,
|
||||
FilterFunc: f,
|
||||
}
|
||||
@@ -141,11 +141,11 @@ func MakeFilterPseudoDecorator(f FilterFunc) Decorator {
|
||||
}
|
||||
|
||||
// Render implements Renderer
|
||||
func (f *Filter) Render(rpt report.Report, dct Decorator) Nodes {
|
||||
func (f Filter) Render(rpt report.Report, dct Decorator) Nodes {
|
||||
return f.render(rpt, dct)
|
||||
}
|
||||
|
||||
func (f *Filter) render(rpt report.Report, dct Decorator) Nodes {
|
||||
func (f Filter) render(rpt report.Report, dct Decorator) Nodes {
|
||||
output := report.Nodes{}
|
||||
inDegrees := map[string]int{}
|
||||
filtered := 0
|
||||
|
||||
@@ -70,12 +70,12 @@ type Map struct {
|
||||
|
||||
// MakeMap makes a new Map
|
||||
func MakeMap(f MapFunc, r Renderer) Renderer {
|
||||
return &Map{f, r}
|
||||
return Map{f, r}
|
||||
}
|
||||
|
||||
// Render transforms a set of Nodes produces by another Renderer.
|
||||
// using a map function
|
||||
func (m *Map) Render(rpt report.Report, dct Decorator) Nodes {
|
||||
func (m Map) Render(rpt report.Report, dct Decorator) Nodes {
|
||||
var (
|
||||
input = m.Renderer.Render(rpt, dct)
|
||||
output = report.Nodes{}
|
||||
|
||||
Reference in New Issue
Block a user