基于serf的数据库同步模块库
liuxiaolong
2019-08-09 ea86812a329c4158ccfd4172cb2f0c14f115bf90
searcher.go
@@ -9,7 +9,7 @@
)
var (
   members [][]byte
   members = make(map[string]NodeInfo,0)
   delay   time.Duration
)
@@ -53,7 +53,12 @@
// NotifyMsg is called when a user-data message is received
func (d *delegate) NotifyMsg(b []byte) {
   // logMsg(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) {
@@ -90,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)
@@ -101,11 +106,10 @@
   return members
}
func CloseSearchNode(m *memberlist.Memberlist) error{
func CloseSearchNode(m *memberlist.Memberlist) error {
   return m.Shutdown()
}
func GetSearchNodes()[][]byte {
func GetSearchNodes() map[string]NodeInfo {
   return members
}