基于serf的数据库同步模块库
liuxiaolong
2019-08-08 892af68c0f1852f4821a4d93bc36b4f858e71363
members search return map[string]NodeInfo
1个文件已修改
14 ■■■■■ 已修改文件
searcher.go 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
searcher.go
@@ -9,7 +9,7 @@
)
var (
    members [][]byte
    members = make(map[string]NodeInfo,0)
    delay   time.Duration
)
@@ -53,8 +53,12 @@
// NotifyMsg is called when a user-data message is received
func (d *delegate) NotifyMsg(b []byte) {
    // logMsg(b)
    fmt.Println(b)
    members = append(members, b)
    n := NodeInfo{}
    if err:= json.Unmarshal(b, &n);err !=nil {
        members[n.NodeID] = n
    } else {
        fmt.Println("NotifyMsg msg unmarshal err")
    }
}
func logMsg(b []byte) {
@@ -91,7 +95,7 @@
    return memberlist.Create(conf)
}
func CreateSearchNodeWhitClose(key string, delay time.Duration) [][]byte {
func CreateSearchNodeWhitClose(key string, delay time.Duration) map[string]NodeInfo {
    m, err := CreateSearchNode(key)
    if err == nil {
        // fmt.Printf("Local member %s:%d\n", m.LocalNode().Addr, m.LocalNode().Port)
@@ -106,6 +110,6 @@
    return m.Shutdown()
}
func GetSearchNodes() [][]byte {
func GetSearchNodes() map[string]NodeInfo {
    return members
}