liuxiaolong
2020-04-20 a4ea6380ed70468b1bbaca0328a65686960fcd52
add svLock
1个文件已修改
6 ■■■■■ 已修改文件
server.go 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server.go
@@ -3,6 +3,7 @@
import (
    "encoding/json"
    "log"
    "sync"
    "time"
    "golang.org/x/net/context"
@@ -52,6 +53,7 @@
    publisher *Publisher
    svInfo map[string][]byte
    svLock sync.RWMutex
}
type Publisher struct {
@@ -162,7 +164,9 @@
        } else {
            if  json.Unmarshal(msg, &si) == nil {
                responses.Add(si.ServiceId)
                d.services.svLock.Lock()
                d.services.svInfo[si.ServiceId] = si.Info
                d.services.svLock.Unlock()
            }
        }
    }
@@ -244,6 +248,8 @@
}
func (d *DiscoveryServer) SvInfo() map[string][]byte {
    d.services.svLock.Lock()
    defer d.services.svLock.Unlock()
    m := make(map[string][]byte)
    for k,v := range d.services.svInfo {
        m[k] = v