From 0f22b7b0a19dc94274f2ed617fb7a27fbec01426 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期二, 27 八月 2019 18:39:05 +0800
Subject: [PATCH] test

---
 searcher.go |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/searcher.go b/searcher.go
index afd2daa..68e4a13 100644
--- a/searcher.go
+++ b/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,21 +95,24 @@
 	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)
 		time.Sleep(delay)
 
 		m.Shutdown()
+		fmt.Println("CreateSearchNodeWhitClose after ",delay,",shutdown success")
 	}
 	return members
 }
 
 func CloseSearchNode(m *memberlist.Memberlist) error {
+	fmt.Println("CloseSearchNode")
+	defer fmt.Println("ShutDown done")
 	return m.Shutdown()
 }
 
-func GetSearchNodes() [][]byte {
+func GetSearchNodes() map[string]NodeInfo {
 	return members
 }

--
Gitblit v1.8.0