From 0a79992edbc0406d274626c5ad86691b7c5c1fa7 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期二, 14 一月 2020 16:38:26 +0800
Subject: [PATCH] add aliveNodes

---
 mangos.go |   31 ++++++++++++++-----------------
 1 files changed, 14 insertions(+), 17 deletions(-)

diff --git a/mangos.go b/mangos.go
index d01ccb1..480be38 100644
--- a/mangos.go
+++ b/mangos.go
@@ -55,33 +55,30 @@
 					discoveryServer.PublishMsg(string(sendB))
 				}
 			default:
-				nodeIds := discoveryServer.AliveNodes().ToSlice()
-				if len(nodeIds) >0 {
-					//for _,nodeId := range nodeIds {
-					//	if _,ok := clientMsgCh[nodeId]; !ok {
-					//		clientMsgCh[nodeId] = make(chan Message)
-					//	}
-					//}
+				nodeIds := discoveryServer.AliveNodes()
 
-					if cacheNodes.Cardinality() == 0 { //绗竴娆℃湁涓婄嚎鐨勮妭鐐�
-						if len(msgCache) > 0 {
-							for _,cMsg := range msgCache {
-								sendB, _ := json.Marshal(cMsg)
-								discoveryServer.PublishMsg(string(sendB))
-							}
+				//for _,nodeId := range nodeIds {
+				//	if _,ok := clientMsgCh[nodeId]; !ok {
+				//		clientMsgCh[nodeId] = make(chan Message)
+				//	}
+				//}
+
+				if len(cacheNodes.Difference(nodeIds).ToSlice()) > 0 { //鑺傜偣鏈夊彉鍖栫殑鏃跺�欙紝涔熼渶瑕佸彂娑堟伅
+					fmt.Println("aliveNodes:",nodeIds)
+					if len(msgCache) > 0 {
+						for _,cMsg := range msgCache {
+							sendB, _ := json.Marshal(cMsg)
+							discoveryServer.PublishMsg(string(sendB))
 						}
 					}
-					cacheNodes = discoveryServer.AliveNodes()
 				} else {
-					cacheNodes = discoveryServer.AliveNodes()
 					time.Sleep(10 * time.Millisecond)
 				}
+				cacheNodes = discoveryServer.AliveNodes()
 			}
 		}
 	}()
-	go func() {
 
-	}()
 	return pub,nil
 }
 

--
Gitblit v1.8.0