core: remove unused code from TxPool

This commit is contained in:
Felix Lange 2015-06-03 14:20:44 +02:00 committed by obscuren
parent 08befff8f1
commit ca31d71107
1 changed files with 13 additions and 41 deletions

View File

@ -14,7 +14,6 @@ import (
"github.com/ethereum/go-ethereum/event" "github.com/ethereum/go-ethereum/event"
"github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/logger"
"github.com/ethereum/go-ethereum/logger/glog" "github.com/ethereum/go-ethereum/logger/glog"
"gopkg.in/fatih/set.v0"
) )
var ( var (
@ -28,58 +27,31 @@ var (
ErrNegativeValue = errors.New("Negative value") ErrNegativeValue = errors.New("Negative value")
) )
const txPoolQueueSize = 50
type TxPoolHook chan *types.Transaction
type TxMsg struct{ Tx *types.Transaction }
type stateFn func() *state.StateDB type stateFn func() *state.StateDB
const (
minGasPrice = 1000000
)
type TxProcessor interface {
ProcessTransaction(tx *types.Transaction)
}
// The tx pool a thread safe transaction pool handler. In order to // The tx pool a thread safe transaction pool handler. In order to
// guarantee a non blocking pool we use a queue channel which can be // guarantee a non blocking pool we use a queue channel which can be
// independently read without needing access to the actual pool. // independently read without needing access to the actual pool.
type TxPool struct { type TxPool struct {
mu sync.RWMutex quit chan bool // Quiting channel
// Queueing channel for reading and writing incoming currentState stateFn // The state function which will allow us to do some pre checkes
// transactions to gasLimit func() *big.Int // The current gas limit function callback
queueChan chan *types.Transaction
// Quiting channel
quit chan bool
// The state function which will allow us to do some pre checkes
currentState stateFn
// The current gas limit function callback
gasLimit func() *big.Int
// The actual pool
txs map[common.Hash]*types.Transaction
invalidHashes *set.Set
queue map[common.Address]map[common.Hash]*types.Transaction
subscribers []chan TxMsg
eventMux *event.TypeMux eventMux *event.TypeMux
mu sync.RWMutex
txs map[common.Hash]*types.Transaction // The actual pool
queue map[common.Address]map[common.Hash]*types.Transaction
} }
func NewTxPool(eventMux *event.TypeMux, currentStateFn stateFn, gasLimitFn func() *big.Int) *TxPool { func NewTxPool(eventMux *event.TypeMux, currentStateFn stateFn, gasLimitFn func() *big.Int) *TxPool {
txPool := &TxPool{ return &TxPool{
txs: make(map[common.Hash]*types.Transaction), txs: make(map[common.Hash]*types.Transaction),
queue: make(map[common.Address]map[common.Hash]*types.Transaction), queue: make(map[common.Address]map[common.Hash]*types.Transaction),
queueChan: make(chan *types.Transaction, txPoolQueueSize),
quit: make(chan bool), quit: make(chan bool),
eventMux: eventMux, eventMux: eventMux,
invalidHashes: set.New(),
currentState: currentStateFn, currentState: currentStateFn,
gasLimit: gasLimitFn, gasLimit: gasLimitFn,
} }
return txPool
} }
func (pool *TxPool) Start() { func (pool *TxPool) Start() {