eth: listen for mined blocks and propagate using the protocol manager
This commit is contained in:
parent
ecc74d76cc
commit
12e8d9c4dd
|
@ -139,7 +139,7 @@ type Ethereum struct {
|
|||
net *p2p.Server
|
||||
eventMux *event.TypeMux
|
||||
txSub event.Subscription
|
||||
//blockSub event.Subscription
|
||||
minedBlockSub event.Subscription
|
||||
miner *miner.Miner
|
||||
|
||||
// logger logger.LogSystem
|
||||
|
@ -387,8 +387,8 @@ func (s *Ethereum) Start() error {
|
|||
go s.txBroadcastLoop()
|
||||
|
||||
// broadcast mined blocks
|
||||
//s.blockSub = s.eventMux.Subscribe(core.ChainHeadEvent{})
|
||||
go s.blockBroadcastLoop()
|
||||
s.minedBlockSub = s.eventMux.Subscribe(core.NewMinedBlockEvent{})
|
||||
go s.minedBroadcastLoop()
|
||||
|
||||
glog.V(logger.Info).Infoln("Server started")
|
||||
return nil
|
||||
|
@ -420,7 +420,7 @@ func (s *Ethereum) Stop() {
|
|||
defer s.extraDb.Close()
|
||||
|
||||
s.txSub.Unsubscribe() // quits txBroadcastLoop
|
||||
//s.blockSub.Unsubscribe() // quits blockBroadcastLoop
|
||||
s.minedBlockSub.Unsubscribe() // quits blockBroadcastLoop
|
||||
|
||||
s.txPool.Stop()
|
||||
s.eventMux.Stop()
|
||||
|
@ -462,16 +462,14 @@ func (self *Ethereum) syncAccounts(tx *types.Transaction) {
|
|||
}
|
||||
}
|
||||
|
||||
func (self *Ethereum) blockBroadcastLoop() {
|
||||
func (self *Ethereum) minedBroadcastLoop() {
|
||||
// automatically stops if unsubscribe
|
||||
/*
|
||||
for obj := range self.blockSub.Chan() {
|
||||
for obj := range self.minedBlockSub.Chan() {
|
||||
switch ev := obj.(type) {
|
||||
case core.ChainHeadEvent:
|
||||
self.net.BroadcastLimited("eth", NewBlockMsg, math.Sqrt, []interface{}{ev.Block, ev.Block.Td})
|
||||
case core.NewMinedBlockEvent:
|
||||
self.protocolManager.BroadcastBlock(ev.Block)
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
func saveProtocolVersion(db common.Database, protov int) {
|
||||
|
|
Loading…
Reference in New Issue