eventbus源码分析
EventBus
初始化
启动
external mqtt broker
InitSubClient
func (mq *Client) InitSubClient() {
timeStr := strconv.FormatInt(time.Now().UnixNano()/1e6, 10)
right := len(timeStr)
if right > 10 {
right = 10
}
subID := fmt.Sprintf("hub-client-sub-%s", timeStr[0:right])
subOpts := util.HubClientInit(mq.MQTTUrl, subID, "", "")
subOpts.OnConnect = onSubConnect
subOpts.AutoReconnect = false
subOpts.OnConnectionLost = onSubConnectionLost
mq.SubCli = MQTT.NewClient(subOpts)
util.LoopConnect(subID, mq.SubCli)
klog.Info("finish hub-client sub")
}以下两个函数定义了当失联和连接时的处理逻辑
OnSubMessageReceived
InitPubClient
Internal mqtt broker
pubCloudMsgToEdge

Last updated