From fc65716cb14d829c5ad9f79aa909ec0564eea2bd Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期六, 12 十月 2019 11:36:03 +0800
Subject: [PATCH] 判断SnapshotPath合法性
---
searcher.go | 23 ++++++++++++++---------
1 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/searcher.go b/searcher.go
index afd2daa..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()
@@ -105,6 +110,6 @@
return m.Shutdown()
}
-func GetSearchNodes() [][]byte {
+func GetSearchNodes() map[string]NodeInfo {
return members
}
--
Gitblit v1.8.0