From cbe20a2bac53bf82dcf4a170666bf43069dc7c7d Mon Sep 17 00:00:00 2001 From: Leonard Lyubich Date: Wed, 23 Jun 2021 12:57:03 +0300 Subject: [PATCH] [#607] network: Add helper function to iterate over all addresses Signed-off-by: Leonard Lyubich --- pkg/network/group.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/network/group.go b/pkg/network/group.go index 43c5c6641..d56b4c8dc 100644 --- a/pkg/network/group.go +++ b/pkg/network/group.go @@ -19,9 +19,8 @@ type AddressGroup []Address func StringifyGroup(x AddressGroup) string { var s string - x.IterateAddresses(func(addr Address) bool { + iterateAllAddresses(x, func(addr Address) { s += addr.String() - return false }) return s @@ -40,6 +39,15 @@ func (x AddressGroup) IterateAddresses(f func(Address) bool) { } } +// iterateAllAddresses iterates over all network addresses of g +// and passes each of them to f. +func iterateAllAddresses(g AddressGroup, f func(Address)) { + g.IterateAddresses(func(addr Address) bool { + f(addr) + return false + }) +} + // Len returns number of addresses in AddressGroup. func (x AddressGroup) Len() int { return len(x) @@ -111,9 +119,8 @@ func WriteToNodeInfo(g AddressGroup, ni *netmap.NodeInfo) { num := g.Len() addrs := make([]string, 0, num) - g.IterateAddresses(func(addr Address) bool { + iterateAllAddresses(g, func(addr Address) { addrs = append(addrs, addr.String()) - return false }) ni.SetAddresses(addrs...)