aboutsummaryrefslogtreecommitdiffstats
path: root/lds/peer.go
diff options
context:
space:
mode:
authorSonic <sonic@dexon.org>2019-05-08 17:05:04 +0800
committerSonic <sonic@dexon.org>2019-05-08 17:05:04 +0800
commit53db7e5a2ae7eb85fa5a2fc412d5746ef6f0f583 (patch)
tree3b347dcddd84f986398458d9ddea6f8b77523290 /lds/peer.go
parentb6c2c72d553e4680259fc8d05b0bcf9f4d0d4b58 (diff)
downloaddexon-53db7e5a2ae7eb85fa5a2fc412d5746ef6f0f583.tar
dexon-53db7e5a2ae7eb85fa5a2fc412d5746ef6f0f583.tar.gz
dexon-53db7e5a2ae7eb85fa5a2fc412d5746ef6f0f583.tar.bz2
dexon-53db7e5a2ae7eb85fa5a2fc412d5746ef6f0f583.tar.lz
dexon-53db7e5a2ae7eb85fa5a2fc412d5746ef6f0f583.tar.xz
dexon-53db7e5a2ae7eb85fa5a2fc412d5746ef6f0f583.tar.zst
dexon-53db7e5a2ae7eb85fa5a2fc412d5746ef6f0f583.zip
lds: replace eth/downloader with dex/downloader
Diffstat (limited to 'lds/peer.go')
-rw-r--r--lds/peer.go19
1 files changed, 9 insertions, 10 deletions
diff --git a/lds/peer.go b/lds/peer.go
index e0ee23236..b41824ad7 100644
--- a/lds/peer.go
+++ b/lds/peer.go
@@ -99,10 +99,9 @@ func (p *peer) queueSend(f func()) {
// Info gathers and returns a collection of metadata known about a peer.
func (p *peer) Info() *dex.PeerInfo {
- // TODO: fix this when modify peer
return &dex.PeerInfo{
Version: p.version,
- Number: 0,
+ Number: p.Number(),
Head: fmt.Sprintf("%x", p.Head()),
}
}
@@ -116,12 +115,12 @@ func (p *peer) Head() (hash common.Hash) {
return hash
}
-func (p *peer) HeadAndTd() (hash common.Hash, td *big.Int) {
+func (p *peer) HeadAndNumber() (hash common.Hash, number uint64) {
p.lock.RLock()
defer p.lock.RUnlock()
copy(hash[:], p.headInfo.Hash[:])
- return hash, p.headInfo.Td
+ return hash, p.headInfo.Number
}
func (p *peer) headBlockInfo() blockInfo {
@@ -132,11 +131,11 @@ func (p *peer) headBlockInfo() blockInfo {
}
// Td retrieves the current total difficulty of a peer.
-func (p *peer) Td() *big.Int {
+func (p *peer) Number() uint64 {
p.lock.RLock()
defer p.lock.RUnlock()
- return new(big.Int).Set(p.headInfo.Td)
+ return p.headInfo.Number
}
// waitBefore implements distPeer interface
@@ -598,12 +597,12 @@ func (ps *peerSet) BestPeer() *peer {
defer ps.lock.RUnlock()
var (
- bestPeer *peer
- bestTd *big.Int
+ bestPeer *peer
+ bestNumber uint64
)
for _, p := range ps.peers {
- if td := p.Td(); bestPeer == nil || td.Cmp(bestTd) > 0 {
- bestPeer, bestTd = p, td
+ if number := p.Number(); bestPeer == nil || number > bestNumber {
+ bestPeer, bestNumber = p, number
}
}
return bestPeer