Compare commits
2 commits
2af9e734dd
...
0d90395eef
| Author | SHA1 | Date | |
|---|---|---|---|
| 0d90395eef | |||
| fc31d375a2 |
3 changed files with 12 additions and 7 deletions
|
|
@ -1,7 +0,0 @@
|
|||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
fmt.Println("hivemind lite")
|
||||
}
|
||||
|
|
@ -9,6 +9,9 @@ import (
|
|||
"github.com/BurntSushi/toml"
|
||||
)
|
||||
|
||||
// TODO: make all configs have a codegen verification and merging
|
||||
// assume that 0 and "" are invalid values, i.e. use -1 for unset
|
||||
|
||||
type Configs struct {
|
||||
Master MasterConfig
|
||||
Dns DnsConfig
|
||||
|
|
|
|||
|
|
@ -123,6 +123,15 @@ func (r *Registry) RemoveNode(node types.Node) error {
|
|||
|
||||
func (r *Registry) Set(nodes map[string]types.Node) error {
|
||||
r.lock.Lock()
|
||||
equalFunc := func(a, b types.Node) bool {
|
||||
return a.Hostname == b.Hostname
|
||||
}
|
||||
|
||||
if maps.EqualFunc(r.nodes, nodes, equalFunc) {
|
||||
r.lock.Unlock()
|
||||
return nil
|
||||
}
|
||||
|
||||
r.nodes = maps.Clone(nodes)
|
||||
snapshot := r.snapshot()
|
||||
r.lock.Unlock()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue