forked from cerc-io/plugeth
eth/downloader: removed update loop and synch channel
This commit is contained in:
parent
405720b218
commit
7ce3d06402
@ -68,10 +68,8 @@ type Downloader struct {
|
||||
|
||||
// Channels
|
||||
newPeerCh chan *peer
|
||||
syncCh chan syncPack
|
||||
hashCh chan []common.Hash
|
||||
blockCh chan blockPack
|
||||
quit chan struct{}
|
||||
}
|
||||
|
||||
func New(hasBlock hashCheckFn, insertChain chainInsertFn) *Downloader {
|
||||
@ -81,13 +79,9 @@ func New(hasBlock hashCheckFn, insertChain chainInsertFn) *Downloader {
|
||||
hasBlock: hasBlock,
|
||||
insertChain: insertChain,
|
||||
newPeerCh: make(chan *peer, 1),
|
||||
syncCh: make(chan syncPack, 1),
|
||||
hashCh: make(chan []common.Hash, 1),
|
||||
blockCh: make(chan blockPack, 1),
|
||||
quit: make(chan struct{}),
|
||||
}
|
||||
//go downloader.peerHandler()
|
||||
go downloader.update()
|
||||
|
||||
return downloader
|
||||
}
|
||||
@ -121,25 +115,6 @@ func (d *Downloader) UnregisterPeer(id string) {
|
||||
delete(d.peers, id)
|
||||
}
|
||||
|
||||
func (d *Downloader) update() {
|
||||
out:
|
||||
for {
|
||||
select {
|
||||
case sync := <-d.syncCh:
|
||||
var peer *peer = sync.peer
|
||||
err := d.getFromPeer(peer, sync.hash, sync.ignoreInitial)
|
||||
if err != nil {
|
||||
glog.V(logger.Detail).Infoln(err)
|
||||
break
|
||||
}
|
||||
|
||||
d.process(peer)
|
||||
case <-d.quit:
|
||||
break out
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// SynchroniseWithPeer will select the peer and use it for synchronising. If an empty string is given
|
||||
// it will use the best peer possible and synchronise if it's TD is higher than our own. If any of the
|
||||
// checks fail an error will be returned. This method is synchronous
|
||||
|
Loading…
Reference in New Issue
Block a user