Removed old tx pool notification system. Fixes #19
This commit is contained in:
parent
2734fc4079
commit
7bf2ae0b11
@ -260,7 +260,7 @@ func AddTestNetFunds(block *Block) {
|
|||||||
"e6716f9544a56c530d868e4bfbacb172315bdead", // Jeffrey
|
"e6716f9544a56c530d868e4bfbacb172315bdead", // Jeffrey
|
||||||
"1e12515ce3e0f817a4ddef9ca55788a1d66bd2df", // Vit
|
"1e12515ce3e0f817a4ddef9ca55788a1d66bd2df", // Vit
|
||||||
"1a26338f0d905e295fccb71fa9ea849ffa12aaf4", // Alex
|
"1a26338f0d905e295fccb71fa9ea849ffa12aaf4", // Alex
|
||||||
"2ef47100e0787b915105fd5e3f4ff6752079d5cb", // Maran
|
//"2ef47100e0787b915105fd5e3f4ff6752079d5cb", // Maran
|
||||||
} {
|
} {
|
||||||
//log.Println("2^200 Wei to", addr)
|
//log.Println("2^200 Wei to", addr)
|
||||||
codedAddr := ethutil.FromHex(addr)
|
codedAddr := ethutil.FromHex(addr)
|
||||||
@ -268,6 +268,7 @@ func AddTestNetFunds(block *Block) {
|
|||||||
account.Amount = ethutil.BigPow(2, 200)
|
account.Amount = ethutil.BigPow(2, 200)
|
||||||
block.state.UpdateStateObject(account)
|
block.state.UpdateStateObject(account)
|
||||||
}
|
}
|
||||||
|
log.Printf("%x\n", block.RlpEncode())
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bc *BlockChain) setLastBlock() {
|
func (bc *BlockChain) setLastBlock() {
|
||||||
|
@ -133,7 +133,8 @@ func (pool *TxPool) ProcessTransaction(tx *Transaction, block *Block, toContract
|
|||||||
|
|
||||||
log.Printf("[TXPL] Processed Tx %x\n", tx.Hash())
|
log.Printf("[TXPL] Processed Tx %x\n", tx.Hash())
|
||||||
|
|
||||||
pool.notifySubscribers(TxPost, tx)
|
// Notify all subscribers
|
||||||
|
pool.Ethereum.Reactor().Post("newTx:post", tx)
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -188,10 +189,7 @@ out:
|
|||||||
pool.addTransaction(tx)
|
pool.addTransaction(tx)
|
||||||
|
|
||||||
// Notify the subscribers
|
// Notify the subscribers
|
||||||
pool.Ethereum.Reactor().Post("newTx", tx)
|
pool.Ethereum.Reactor().Post("newTx:pre", tx)
|
||||||
|
|
||||||
// Notify the subscribers
|
|
||||||
pool.notifySubscribers(TxPre, tx)
|
|
||||||
}
|
}
|
||||||
case <-pool.quit:
|
case <-pool.quit:
|
||||||
break out
|
break out
|
||||||
@ -252,14 +250,3 @@ func (pool *TxPool) Stop() {
|
|||||||
|
|
||||||
log.Println("[TXP] Stopped")
|
log.Println("[TXP] Stopped")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (pool *TxPool) Subscribe(channel chan TxMsg) {
|
|
||||||
pool.subscribers = append(pool.subscribers, channel)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (pool *TxPool) notifySubscribers(ty TxMsgTy, tx *Transaction) {
|
|
||||||
msg := TxMsg{Type: ty, Tx: tx}
|
|
||||||
for _, subscriber := range pool.subscribers {
|
|
||||||
subscriber <- msg
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -26,7 +26,7 @@ func NewDefaultMiner(coinbase []byte, ethereum ethchain.EthManager) Miner {
|
|||||||
quitChan := make(chan ethutil.React, 1) // This is the channel that can exit the miner thread
|
quitChan := make(chan ethutil.React, 1) // This is the channel that can exit the miner thread
|
||||||
|
|
||||||
ethereum.Reactor().Subscribe("newBlock", reactChan)
|
ethereum.Reactor().Subscribe("newBlock", reactChan)
|
||||||
ethereum.Reactor().Subscribe("newTx", reactChan)
|
ethereum.Reactor().Subscribe("newTx:post", reactChan)
|
||||||
|
|
||||||
// We need the quit chan to be a Reactor event.
|
// We need the quit chan to be a Reactor event.
|
||||||
// The POW search method is actually blocking and if we don't
|
// The POW search method is actually blocking and if we don't
|
||||||
@ -34,7 +34,7 @@ func NewDefaultMiner(coinbase []byte, ethereum ethchain.EthManager) Miner {
|
|||||||
// The miner overseer will never get the reactor events themselves
|
// The miner overseer will never get the reactor events themselves
|
||||||
// Only after the miner will find the sha
|
// Only after the miner will find the sha
|
||||||
ethereum.Reactor().Subscribe("newBlock", quitChan)
|
ethereum.Reactor().Subscribe("newBlock", quitChan)
|
||||||
ethereum.Reactor().Subscribe("newTx", quitChan)
|
ethereum.Reactor().Subscribe("newTx:post", quitChan)
|
||||||
|
|
||||||
miner := Miner{
|
miner := Miner{
|
||||||
pow: ðchain.EasyPow{},
|
pow: ðchain.EasyPow{},
|
||||||
|
@ -46,6 +46,7 @@ func (e *ReactorEvent) Remove(ch chan React) {
|
|||||||
// Basic reactor resource
|
// Basic reactor resource
|
||||||
type React struct {
|
type React struct {
|
||||||
Resource interface{}
|
Resource interface{}
|
||||||
|
Event string
|
||||||
}
|
}
|
||||||
|
|
||||||
// The reactor basic engine. Acts as bridge
|
// The reactor basic engine. Acts as bridge
|
||||||
@ -81,6 +82,6 @@ func (reactor *ReactorEngine) Unsubscribe(event string, ch chan React) {
|
|||||||
func (reactor *ReactorEngine) Post(event string, resource interface{}) {
|
func (reactor *ReactorEngine) Post(event string, resource interface{}) {
|
||||||
ev := reactor.patterns[event]
|
ev := reactor.patterns[event]
|
||||||
if ev != nil {
|
if ev != nil {
|
||||||
ev.Post(React{Resource: resource})
|
ev.Post(React{Resource: resource, Event: event})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user