add node mutex to model

This commit is contained in:
abhishek9686
2025-02-19 22:17:40 +04:00
parent 7dd4c048c3
commit 92698363cd
3 changed files with 25 additions and 7 deletions

View File

@@ -35,12 +35,18 @@ var (
func getNodeFromCache(nodeID string) (node models.Node, ok bool) {
nodeCacheMutex.RLock()
node, ok = nodesCacheMap[nodeID]
if node.Mutex == nil {
node.Mutex = &sync.RWMutex{}
}
nodeCacheMutex.RUnlock()
return
}
func getNodesFromCache() (nodes []models.Node) {
nodeCacheMutex.RLock()
for _, node := range nodesCacheMap {
if node.Mutex == nil {
node.Mutex = &sync.RWMutex{}
}
nodes = append(nodes, node)
}
nodeCacheMutex.RUnlock()
@@ -425,6 +431,9 @@ func GetAllNodes() ([]models.Node, error) {
}
// add node to our array
nodes = append(nodes, node)
if node.Mutex == nil {
node.Mutex = &sync.RWMutex{}
}
nodesMap[node.ID.String()] = node
}
@@ -811,9 +820,11 @@ func GetTagMapWithNodes() (tagNodesMap map[models.TagID][]models.Node) {
if nodeI.Tags == nil {
continue
}
nodeI.Mutex.RLock()
for nodeTagID := range nodeI.Tags {
tagNodesMap[nodeTagID] = append(tagNodesMap[nodeTagID], nodeI)
}
nodeI.Mutex.RUnlock()
}
return
}
@@ -825,9 +836,11 @@ func GetTagMapWithNodesByNetwork(netID models.NetworkID, withStaticNodes bool) (
if nodeI.Tags == nil {
continue
}
nodeI.Mutex.RLock()
for nodeTagID := range nodeI.Tags {
tagNodesMap[nodeTagID] = append(tagNodesMap[nodeTagID], nodeI)
}
nodeI.Mutex.RUnlock()
}
tagNodesMap["*"] = nodes
if !withStaticNodes {