Queued approach to delivering chain events
This commit is contained in:
@ -30,6 +30,7 @@ func New(coinbase []byte, eth core.Backend, pow pow.PoW, minerThreads int) *Mine
|
||||
pow: pow,
|
||||
}
|
||||
|
||||
minerThreads = 1
|
||||
for i := 0; i < minerThreads; i++ {
|
||||
miner.worker.register(NewCpuMiner(i, miner.pow))
|
||||
}
|
||||
|
@ -116,7 +116,7 @@ func (self *worker) register(agent Agent) {
|
||||
}
|
||||
|
||||
func (self *worker) update() {
|
||||
events := self.mux.Subscribe(core.ChainEvent{}, core.NewMinedBlockEvent{})
|
||||
events := self.mux.Subscribe(core.ChainHeadEvent{}, core.NewMinedBlockEvent{})
|
||||
|
||||
timer := time.NewTicker(2 * time.Second)
|
||||
|
||||
@ -125,7 +125,7 @@ out:
|
||||
select {
|
||||
case event := <-events.Chan():
|
||||
switch ev := event.(type) {
|
||||
case core.ChainEvent:
|
||||
case core.ChainHeadEvent:
|
||||
if self.current.block != ev.Block {
|
||||
self.commitNewWork()
|
||||
}
|
||||
|
Reference in New Issue
Block a user