OSDN Git Service

fix log.Debug
[bytom/vapor.git] / toolbar / precog / monitor / connection.go
index 7211f0d..a6b4826 100644 (file)
@@ -10,10 +10,13 @@ import (
 )
 
 func (m *monitor) connectNodesRoutine() {
-       // TODO: change name?
-       ticker := time.NewTicker(time.Duration(m.cfg.CheckFreqSeconds) * time.Second)
+       // TODO: fix
+       // ticker := time.NewTicker(time.Duration(m.cfg.CheckFreqMinutes) * time.Minute)
+       ticker := time.NewTicker(time.Duration(m.cfg.CheckFreqMinutes) * time.Second)
        for ; true; <-ticker.C {
                <-m.dialCh
+               m.Lock()
+
                if err := m.dialNodes(); err != nil {
                        log.Error(err)
                }
@@ -21,7 +24,6 @@ func (m *monitor) connectNodesRoutine() {
 }
 
 func (m *monitor) dialNodes() error {
-       // m.Lock()
        log.Info("Start to reconnect to nodes...")
        var nodes []*orm.Node
        if err := m.db.Model(&orm.Node{}).Find(&nodes).Error; err != nil {
@@ -30,24 +32,14 @@ func (m *monitor) dialNodes() error {
 
        addresses := make([]*p2p.NetAddress, 0)
        for i := 0; i < len(nodes); i++ {
-               ips, err := net.LookupIP(nodes[i].Host)
-               if err != nil {
-                       log.Error(err)
-                       continue
-               }
-               if len(ips) == 0 {
-                       log.Errorf("fail to look up ip for %s", nodes[i].Host)
-                       continue
-               }
-
-               address := p2p.NewNetAddressIPPort(ips[0], nodes[i].Port)
+               address := p2p.NewNetAddressIPPort(net.ParseIP(nodes[i].IP), nodes[i].Port)
                addresses = append(addresses, address)
        }
 
        // connected peers will be skipped in switch.DialPeers()
        m.sw.DialPeers(addresses)
        log.Info("DialPeers done.")
+       m.processDialResults()
        m.checkStatusCh <- struct{}{}
-       // m.Unlock()
        return nil
 }