From 9119ebea26a3dbf6cf3c5a0bcd87b79c7f0d1cee Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期三, 26 八月 2020 11:02:38 +0800
Subject: [PATCH] add log
---
library.go | 34 +++++++++++++++++++---------------
1 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/library.go b/library.go
index 9323982..489d2e9 100644
--- a/library.go
+++ b/library.go
@@ -44,7 +44,6 @@
ctx context.Context
wg *sync.WaitGroup
// 鍒涘缓channel瀵瑰簲鐨剅eply,绛夊緟璇诲彇鍏朵腑鐨勫唴瀹�,server
- // 鍏朵腑蹇呴』鏈変竴涓綔涓篟equest鍑芥暟鐨剆erver
m map[string]*sockServer
// 鍒涘缓reply鏈嶅姟Request鍑芥暟
sockRep *sockServer
@@ -55,13 +54,14 @@
// 鍙戦�佹湰韬殑pub淇℃伅,寰堝彲鑳藉叾浠栬繘绋嬩緷璧�,闇�瑕佸崟鐙瑂ocket澶勭悊
sockPub *sockClient
// 鍒涘缓璁㈤槄鐨剆ocket
- // 璁㈤槄鐨勪富棰樺彂閫佺殑娑堟伅
+ // 璁㈤槄鐨勪富棰榩eer鍙戦�佺殑娑堟伅
sockSub *sockClient
// 鍒涘缓涓�涓竾鑳絪ocket鍙戦�佺粰浠绘剰server
sockWorker *sockClient
// 澶氱嚎绋�
mtxWorker sync.Mutex
+ // GetMessge瀹炵幇闇�瑕佺殑缂撳瓨
chSub chan TransInfo
chReply chan TransInfo
}
@@ -71,6 +71,7 @@
routineReply = "reply"
)
+// 璁㈤槄娑堟伅鎴杛eply鎺ユ敹鐨凴equest璇锋眰娑堟伅,閫氳繃缂撳瓨鐢ㄤ簬GetMessage鑾峰彇
func recvRoutine(ctx context.Context, sock *DgramSocket, wg *sync.WaitGroup, ch chan<- TransInfo, id string) {
for {
select {
@@ -97,11 +98,11 @@
}
}
-// Register reg
+// Register firstly register to manager
func Register(ctx context.Context, info *RegisterInfo) *Handle {
m := make(map[string]*sockServer)
- // 棣栧厛璇锋眰涓�鍫唊ey
+ // 棣栧厛璇锋眰涓�鍫唊ey, 鍖呮嫭reply/sub/pub/topic/heartbeat
sockReg := OpenDgramSocket()
if sockReg == nil {
return nil
@@ -131,13 +132,14 @@
}
}
- // 寰楀埌key,璧嬪��
+ // 寰楀埌key
var regReply RegisterInfoReply
if err := proto.Unmarshal(rdata, ®Reply); err != nil {
return nil
}
// 鏀跺彂req/rep channel, server
+ // channels瀵瑰簲鐨剆erver,閮芥槸reply
for _, v := range info.Channel {
if k, ok := regReply.ChannelKey[v]; ok {
s := OpenDgramSocket()
@@ -151,15 +153,15 @@
wg := &sync.WaitGroup{}
+ // 鍒涘缓sub/reply鏈嶅姟缂撳瓨
chSize := 5
chSub := make(chan TransInfo, chSize)
chReply := make(chan TransInfo, chSize)
- // reply浣跨敤涓�涓�,鏈嶅姟Request, server
+ // reply server, 鏈嶅姟Request
sockReply := OpenDgramSocket()
sockReply.Bind(int(regReply.ReplyKey))
// 鍚姩鎺ユ敹绾跨▼
-
wg.Add(1)
go recvRoutine(ctx, sockReply, wg, chReply, routineReply)
repS := &sockServer{
@@ -167,22 +169,24 @@
info: info.ProcInfo,
}
- // heartbeat浣跨敤涓�涓猻ocket, client
+ // heartbeat client, 鍗曠嫭浣跨敤涓�涓猻ocket鍙戦�佸績璺�
sockHB := OpenDgramSocket()
hbC := &sockClient{
sock: sockHB,
peer: int(regReply.HeartbeatKey),
}
- // 鍙戝竷涓婚浣跨敤涓�涓�, client
- sockUp := OpenDgramSocket()
+
+ // pub client, 鍗曠嫭浣跨敤涓�涓彂甯冧富棰�
+ sockPub := OpenDgramSocket()
pubC := &sockClient{
- sock: sockUp,
+ sock: sockPub,
peer: int(regReply.UpdateTopicKey),
}
- // sub浣跨敤涓�涓猻ocket, client
+
+ // sub client, 鍏辩敤涓�涓猻ocket
sockSub := OpenDgramSocket()
// sockSub.Bind(int(regReply.SubTopicKey))
- // 璁㈤槄涓婚
+ // 璁㈤槄鎵�鏈変富棰�
for _, v := range info.SubTopic {
sockSub.Sub(v, int(regReply.SubTopicKey))
}
@@ -194,7 +198,7 @@
peer: -1,
}
- // 涓囪兘socket,浠呬綔涓哄鎴风浣跨敤, 鎴栬�呰幏鍙杢opic key
+ // 涓囪兘socket,浠呬綔涓哄鎴风浣跨敤, 鎴栬�呰幏鍙杢opic key, 淇濆瓨topic鏈嶅姟鍣ㄧ殑key
sockW := OpenDgramSocket()
uniC := &sockClient{
sock: sockW,
@@ -244,7 +248,7 @@
// GetTopicInfo get topic info
func (h *Handle) GetTopicInfo(topic, typ string) int {
- // 鎹涓嶆洿鏂�,鍏堢敤缂撳瓨,鍚﹀垯闇�瑕佹柊鍒涘缓涓�涓猻ocket,鏉ヤ粠manager璇锋眰key
+ // 鎹涓嶆洿鏂�,鍏堢敤缂撳瓨,鍚﹀垯浠巑anager璇锋眰key
// ***k
if v, ok := h.m[topic]; ok {
return v.sock.Port()
--
Gitblit v1.8.0