From cda971adb629309d02e692cd983658f0190d5924 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期五, 27 九月 2019 16:52:45 +0800
Subject: [PATCH] ShutDwon失败log

---
 searcher.go |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/searcher.go b/searcher.go
index f35fa1e..0785afa 100644
--- a/searcher.go
+++ b/searcher.go
@@ -2,14 +2,14 @@
 
 import (
 	"encoding/json"
-	"fmt"
+	"basic.com/valib/logger.git"
 	"time"
 
 	"github.com/hashicorp/memberlist"
 )
 
 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 {
+		logger.Error("NotifyMsg msg unmarshal err")
+	}
 }
 
 func logMsg(b []byte) {
@@ -65,11 +70,11 @@
 	node := nodeInfo{}
 	if err := json.Unmarshal(b, &node); err != nil {
 
-		fmt.Println("Umarshal failed:", err)
+		logger.Error("Umarshal failed:", err)
 		return
 	}
 
-	fmt.Println(node)
+	logger.Info(node)
 }
 
 func CreateSearchNode(key string) (*memberlist.Memberlist, error) {
@@ -82,7 +87,7 @@
 
 	keyring, err := memberlist.NewKeyring(nil, []byte(key))
 	if err != nil {
-		fmt.Printf("Failed to restore keyring: %s", err)
+		logger.Error("Failed to restore keyring: %s", err)
 		return nil, err
 	}
 	conf.Keyring = keyring
@@ -90,10 +95,10 @@
 	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)
+		//logger.Info("Local member %s:%d\n", m.LocalNode().Addr, m.LocalNode().Port)
 		time.Sleep(delay)
 
 		m.Shutdown()
@@ -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
 }
-

--
Gitblit v1.8.0