提交 7ce3d064 编写于 作者: O obscuren

eth/downloader: removed update loop and synch channel

上级 405720b2
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册