zones: introduce Machine.getRingInfo()

and refactor Machine.applyRingInfo()

Signed-off-by: Alejandro Mery <amery@jpi.io>
This commit is contained in:
2023-08-22 22:13:16 +00:00
parent 223edf846b
commit b084e103b9
+8 -6
View File
@@ -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