good morning!!!!

Skip to content
Snippets Groups Projects
Commit 0dc56612 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke
Browse files

Merge fixes

parent 721e8ae9
No related branches found
No related tags found
No related merge requests found
...@@ -101,7 +101,10 @@ func NewChainManager(mux *event.TypeMux) *ChainManager { ...@@ -101,7 +101,10 @@ func NewChainManager(mux *event.TypeMux) *ChainManager {
} }
func (self *ChainManager) Status() (td *big.Int, currentBlock []byte, genesisBlock []byte) { func (self *ChainManager) Status() (td *big.Int, currentBlock []byte, genesisBlock []byte) {
return self.TD, self.CurrentBlock.Hash(), self.Genesis().Hash() self.mu.RLock()
defer self.mu.RUnlock()
return self.td, self.currentBlock.Hash(), self.Genesis().Hash()
} }
func (self *ChainManager) SetProcessor(proc types.BlockProcessor) { func (self *ChainManager) SetProcessor(proc types.BlockProcessor) {
......
...@@ -72,19 +72,17 @@ type TxPool struct { ...@@ -72,19 +72,17 @@ type TxPool struct {
subscribers []chan TxMsg subscribers []chan TxMsg
broadcaster types.Broadcaster
chainManager *ChainManager chainManager *ChainManager
eventMux *event.TypeMux eventMux *event.TypeMux
} }
func NewTxPool(chainManager *ChainManager, broadcaster types.Broadcaster, eventMux *event.TypeMux) *TxPool { func NewTxPool(chainManager *ChainManager, eventMux *event.TypeMux) *TxPool {
return &TxPool{ return &TxPool{
pool: list.New(), pool: list.New(),
queueChan: make(chan *types.Transaction, txPoolQueueSize), queueChan: make(chan *types.Transaction, txPoolQueueSize),
quit: make(chan bool), quit: make(chan bool),
chainManager: chainManager, chainManager: chainManager,
eventMux: eventMux, eventMux: eventMux,
broadcaster: broadcaster,
} }
} }
...@@ -96,7 +94,7 @@ func (pool *TxPool) addTransaction(tx *types.Transaction) { ...@@ -96,7 +94,7 @@ func (pool *TxPool) addTransaction(tx *types.Transaction) {
pool.pool.PushBack(tx) pool.pool.PushBack(tx)
// Broadcast the transaction to the rest of the peers // Broadcast the transaction to the rest of the peers
pool.Ethereum.EventMux().Post(TxPreEvent{tx}) pool.eventMux.Post(TxPreEvent{tx})
} }
func (pool *TxPool) ValidateTransaction(tx *types.Transaction) error { func (pool *TxPool) ValidateTransaction(tx *types.Transaction) error {
......
...@@ -4,13 +4,8 @@ import ( ...@@ -4,13 +4,8 @@ import (
"math/big" "math/big"
"github.com/ethereum/go-ethereum/state" "github.com/ethereum/go-ethereum/state"
"github.com/ethereum/go-ethereum/wire"
) )
type BlockProcessor interface { type BlockProcessor interface {
Process(*Block) (*big.Int, state.Messages, error) Process(*Block) (*big.Int, state.Messages, error)
} }
type Broadcaster interface {
Broadcast(wire.MsgType, []interface{})
}
...@@ -69,9 +69,9 @@ func New(db ethutil.Database, identity p2p.ClientIdentity, keyManager *crypto.Ke ...@@ -69,9 +69,9 @@ func New(db ethutil.Database, identity p2p.ClientIdentity, keyManager *crypto.Ke
eventMux: &event.TypeMux{}, eventMux: &event.TypeMux{},
} }
eth.txPool = core.NewTxPool(eth)
eth.chainManager = core.NewChainManager(eth.EventMux()) eth.chainManager = core.NewChainManager(eth.EventMux())
eth.blockManager = core.NewBlockManager(eth) eth.txPool = core.NewTxPool(eth.chainManager, eth.EventMux())
eth.blockManager = core.NewBlockManager(eth.txPool, eth.chainManager, eth.EventMux())
eth.chainManager.SetProcessor(eth.blockManager) eth.chainManager.SetProcessor(eth.blockManager)
eth.whisper = whisper.New() eth.whisper = whisper.New()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment