diff options
author | obscuren <geffobscura@gmail.com> | 2015-04-18 07:10:32 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-04-18 07:10:32 +0800 |
commit | 2339ee9910c10fa498f4a4ebc25f6a780ccf78e9 (patch) | |
tree | 11b9a6a3244990d3a3ea888d85eaeafad4aeebef /eth/downloader/peer.go | |
parent | 73eb8e8c20b784e3a43f826e51a81326619d98ef (diff) | |
parent | 2c2ddcbf8885bf509741105ec57967fe78c744fe (diff) | |
download | go-tangerine-2339ee9910c10fa498f4a4ebc25f6a780ccf78e9.tar go-tangerine-2339ee9910c10fa498f4a4ebc25f6a780ccf78e9.tar.gz go-tangerine-2339ee9910c10fa498f4a4ebc25f6a780ccf78e9.tar.bz2 go-tangerine-2339ee9910c10fa498f4a4ebc25f6a780ccf78e9.tar.lz go-tangerine-2339ee9910c10fa498f4a4ebc25f6a780ccf78e9.tar.xz go-tangerine-2339ee9910c10fa498f4a4ebc25f6a780ccf78e9.tar.zst go-tangerine-2339ee9910c10fa498f4a4ebc25f6a780ccf78e9.zip |
Merge branch 'develop' into downloader-proto
Conflicts:
eth/downloader/downloader.go
Diffstat (limited to 'eth/downloader/peer.go')
-rw-r--r-- | eth/downloader/peer.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/eth/downloader/peer.go b/eth/downloader/peer.go index f66e5afd8..4cd306a05 100644 --- a/eth/downloader/peer.go +++ b/eth/downloader/peer.go @@ -95,3 +95,23 @@ func (p *peer) fetch(chunk *chunk) error { return nil } + +// promote increases the peer's reputation +func (p *peer) promote() { + p.mu.Lock() + defer p.mu.Unlock() + + p.rep++ +} + +// demote decreases the peer's reputation or leaves it at 0 +func (p *peer) demote() { + p.mu.Lock() + defer p.mu.Unlock() + + if p.rep > 1 { + p.rep -= 2 + } else { + p.rep = 0 + } +} |