mirror of
https://github.com/datarhei/core.git
synced 2025-10-05 16:07:07 +08:00
36 lines
529 B
Go
36 lines
529 B
Go
package store
|
|
|
|
import "time"
|
|
|
|
func (s *store) setNodeState(cmd CommandSetNodeState) error {
|
|
s.lock.Lock()
|
|
defer s.lock.Unlock()
|
|
|
|
if cmd.State == "online" {
|
|
delete(s.data.Nodes, cmd.NodeID)
|
|
return nil
|
|
}
|
|
|
|
node := s.data.Nodes[cmd.NodeID]
|
|
|
|
node.State = cmd.State
|
|
node.UpdatedAt = time.Now()
|
|
|
|
s.data.Nodes[cmd.NodeID] = node
|
|
|
|
return nil
|
|
}
|
|
|
|
func (s *store) NodeList() map[string]Node {
|
|
s.lock.RLock()
|
|
defer s.lock.RUnlock()
|
|
|
|
m := map[string]Node{}
|
|
|
|
for id, node := range s.data.Nodes {
|
|
m[id] = node
|
|
}
|
|
|
|
return m
|
|
}
|