From 093d29e5804380e1eadaccafdf77290413d75d09 Mon Sep 17 00:00:00 2001 From: HAOYUatHZ Date: Sat, 17 Aug 2019 15:39:29 +0800 Subject: [PATCH] clean --- toolbar/precog/monitor/monitor.go | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/toolbar/precog/monitor/monitor.go b/toolbar/precog/monitor/monitor.go index a6294a8a..ddcecfcc 100644 --- a/toolbar/precog/monitor/monitor.go +++ b/toolbar/precog/monitor/monitor.go @@ -41,9 +41,9 @@ type monitor struct { // TODO: set myself as SPV? func NewMonitor(cfg *config.Config, db *gorm.DB) *monitor { //TODO: for test - cfg.CheckFreqSeconds = 1 + cfg.CheckFreqSeconds = 5 - dir, err := makePath() + dbPath, err := makePath() if err != nil { log.Fatal(err) } @@ -53,7 +53,7 @@ func NewMonitor(cfg *config.Config, db *gorm.DB) *monitor { P2P: vaporCfg.DefaultP2PConfig(), Federation: vaporCfg.DefaultFederationConfig(), } - nodeCfg.DBPath = dir + nodeCfg.DBPath = dbPath nodeCfg.ChainID = "mainnet" discvCh := make(chan *dht.Node) privKey, err := signlib.NewPrivKey() @@ -165,21 +165,20 @@ func (m *monitor) checkStatusRoutine() { log.Fatal(err) } + protocolReactor, ok := m.sw.GetReactors()["PROTOCOL"] + if !ok { + log.Fatal("protocolReactor not found") + } + bestHeight := uint64(0) ticker := time.NewTicker(time.Duration(m.cfg.CheckFreqSeconds) * time.Second) for ; true; <-ticker.C { for _, peer := range m.sw.GetPeers().List() { peer.Start() - } - - protocolReactor, ok := m.sw.GetReactors()["PROTOCOL"] - if !ok { - continue + protocolReactor.AddPeer(peer) } for _, peer := range m.sw.GetPeers().List() { - protocolReactor.AddPeer(peer) - p := peers.GetPeer(peer.ID()) if p == nil { continue @@ -199,6 +198,15 @@ func (m *monitor) checkStatusRoutine() { } log.Info("bestHeight", bestHeight) + for _, peer := range m.sw.GetPeers().List() { + p := peers.GetPeer(peer.ID()) + if p == nil { + continue + } + + peers.RemovePeer(p.ID()) + } + // msg := struct{ msgs.BlockchainMessage }{&msgs.GetBlockMessage{Height: bestHeight + 1}} // for _, peer := range m.sw.GetPeers().List() { // peers.SendMsg(peer.ID(), msgs.BlockchainChannel, msg) -- 2.11.0