eth/downloader: removed update loop and synch channel

This commit is contained in:
obscuren 2015-04-24 18:28:46 +02:00
parent 405720b218
commit 7ce3d06402

View File

@ -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