liuxiaolong
2021-01-08 986c949195d1f50758602f198cae76d56c3b8d56
如果没有pubTopics或者subTopic,则不启动server接收
2个文件已修改
22 ■■■■■ 已修改文件
hbusc.go 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
micronode.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hbusc.go
@@ -192,8 +192,16 @@
        }
    }
    //维持心跳的socket
    sockHB := bhomebus.OpenSocket()
    handle.sockHB = &sockClient{
        sock: sockHB,
        peer: int(regR.HeartbeatKey),
    }
    handle.wg = &sync.WaitGroup{}
    if ri.PubTopic != nil && len(ri.PubTopic) > 0 {
    sockReply := bhomebus.OpenSocket()
    sockReply.ForceBind(int(regR.ReplyKey))
    handle.wg.Add(1)
@@ -203,13 +211,8 @@
        sock: sockReply,
        info: &ri.Proc,
    }
    //维持心跳的socket
    sockHB := bhomebus.OpenSocket()
    handle.sockHB = &sockClient{
        sock: sockHB,
        peer: int(regR.HeartbeatKey),
    }
    //发布消息的socket, pub是将消息发布到bus中,所以不需要指定key
    sockPub := bhomebus.OpenSocket()
@@ -218,6 +221,8 @@
        peer: -1,
    }
    //有订阅消息才需要启动协程接收消息
    if ri.SubTopic != nil && len(ri.SubTopic) > 0 {
    //订阅消息的socket
    sockSub := bhomebus.OpenSocket()
    //订阅所有主题
@@ -232,6 +237,7 @@
        sock: sockSub,
        peer: -1,
    }
    }
    sockWorker := bhomebus.OpenSocket()
    handle.sockWorker = &sockClient{
micronode.go
@@ -22,7 +22,7 @@
    SubCh         chan *MsgInfo
}
func NewMicroNode(ctx context.Context,q chan os.Signal, serverId string, reg *RegisterInfo, procInfo *ProcInfo,fnLog func(v ...interface{})) (*MicroNode, error){
func NewMicroNode(ctx context.Context,q chan os.Signal, serverId string, reg *RegisterInfo, fnLog func(v ...interface{})) (*MicroNode, error){
    conf := NewConfig(KEY_REGISTER,512,5,100,100,100, fnLog)
    handle, err := Register(ctx, q, conf, reg)
    if err != nil {
@@ -33,7 +33,7 @@
        serverId: serverId,
        handle:   handle,
        reg:      reg,
        procInfo: procInfo,
        procInfo: &reg.Proc,
        fnLog:    fnLog,
        SubCh:    make(chan *MsgInfo, 512),
    }