From b084e103b99097b6bd8cff3ebe5806d4c1ddf3e7 Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Tue, 22 Aug 2023 22:13:16 +0000 Subject: [PATCH] zones: introduce Machine.getRingInfo() and refactor Machine.applyRingInfo() Signed-off-by: Alejandro Mery --- pkg/zones/machine_rings.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkg/zones/machine_rings.go b/pkg/zones/machine_rings.go index eec58a5..2c59fb0 100644 --- a/pkg/zones/machine_rings.go +++ b/pkg/zones/machine_rings.go @@ -60,17 +60,19 @@ func (m *Machine) applyWireguardConfig(ring int, wg *wireguard.Config) error { return nil } -func (m *Machine) applyRingInfo(ring int, new *RingInfo) error { - var cur *RingInfo - +func (m *Machine) getRingInfo(ring int) (*RingInfo, bool) { for _, ri := range m.RingAddresses { if ri.Ring == ring { - cur = ri - break + return ri, true } } - if cur == nil { + return nil, false +} + +func (m *Machine) applyRingInfo(ring int, new *RingInfo) error { + cur, found := m.getRingInfo(ring) + if !found { // first, append m.RingAddresses = append(m.RingAddresses, new) return nil