-func (m *monitor) collectDiscoveredNodes(nodes []*dht.Node) {
- for _, node := range nodes {
- if n, ok := m.nodeMap[node.ID.String()]; ok && n.String() == node.String() {
- continue
- }
- log.Infof("discover new node: %v", node)
-
- if err := m.upSertNode(&config.Node{
- PublicKey: node.ID.String(),
- Host: node.IP.String(),
- Port: node.TCP,
- }); err == nil {
- m.nodeMap[node.ID.String()] = node
- } else {
- log.Error(err)
+ log.WithFields(log.Fields{"new node": node}).Info("discover")
+
+ if err := m.upsertNode(&config.Node{
+ PublicKey: node.ID.String(),
+ IP: node.IP.String(),
+ Port: node.TCP,
+ }); err != nil {
+ log.WithFields(log.Fields{"node": node, "err": err}).Error("upsertNode")
+ } else {
+ m.discvMap[node.ID.String()] = node
+ }