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
|
// Channels
|
||||||
newPeerCh chan *peer
|
newPeerCh chan *peer
|
||||||
syncCh chan syncPack
|
|
||||||
hashCh chan []common.Hash
|
hashCh chan []common.Hash
|
||||||
blockCh chan blockPack
|
blockCh chan blockPack
|
||||||
quit chan struct{}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(hasBlock hashCheckFn, insertChain chainInsertFn) *Downloader {
|
func New(hasBlock hashCheckFn, insertChain chainInsertFn) *Downloader {
|
||||||
@ -81,13 +79,9 @@ func New(hasBlock hashCheckFn, insertChain chainInsertFn) *Downloader {
|
|||||||
hasBlock: hasBlock,
|
hasBlock: hasBlock,
|
||||||
insertChain: insertChain,
|
insertChain: insertChain,
|
||||||
newPeerCh: make(chan *peer, 1),
|
newPeerCh: make(chan *peer, 1),
|
||||||
syncCh: make(chan syncPack, 1),
|
|
||||||
hashCh: make(chan []common.Hash, 1),
|
hashCh: make(chan []common.Hash, 1),
|
||||||
blockCh: make(chan blockPack, 1),
|
blockCh: make(chan blockPack, 1),
|
||||||
quit: make(chan struct{}),
|
|
||||||
}
|
}
|
||||||
//go downloader.peerHandler()
|
|
||||||
go downloader.update()
|
|
||||||
|
|
||||||
return downloader
|
return downloader
|
||||||
}
|
}
|
||||||
@ -121,25 +115,6 @@ func (d *Downloader) UnregisterPeer(id string) {
|
|||||||
delete(d.peers, id)
|
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
|
// 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
|
// 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
|
// checks fail an error will be returned. This method is synchronous
|
||||||
|
Loading…
Reference in New Issue
Block a user