liuxiaolong
2021-04-28 e03a22cc6e359108bd2d4f8e53e7e1618099e500
micronode.go
@@ -42,6 +42,8 @@
      SubCh:    make(chan *bhome_msg.MsgPublish, 512),
   }
   go startHeartbeat(ctx, handle)
   return mn, nil
}
@@ -64,16 +66,16 @@
   return errors.New("ms.handle is nil")
}
func (ms *MicroNode) startHeartbeat() {
func startHeartbeat(ctx context.Context, h *BHBus) {
   t := time.NewTicker(1 * time.Second)
   defer t.Stop()
   for {
      select {
      case <-ms.ctx.Done():
      case <-ctx.Done():
         return
      case <-t.C:
         ms.handle.HeartBeat()
         h.HeartBeat()
      default:
         time.Sleep(500 * time.Millisecond)
      }
@@ -81,13 +83,7 @@
}
func (ms *MicroNode) StartClient() {
   ms.mtx.Lock()
   defer ms.mtx.Unlock()
   if !ms.started {
      ms.started = true
      go ms.startHeartbeat()
   }
}
func (ms *MicroNode) StartServer(funcMap map[string]MicroFunc) {
@@ -97,8 +93,6 @@
      ms.mtx.Unlock()
      ms.handlers = funcMap
      go ms.startHeartbeat()
      for {
         select {