Commit 1f7b13ff authored by obscuren's avatar obscuren

Switched over to leveldb instead of memdb

parent 04c00f40
......@@ -33,7 +33,7 @@ type Ethereum struct {
quit chan bool
// DB interface
//db *ethdb.LDBDatabase
db *ethdb.MemDatabase
db ethutil.Database
// Block manager for processing new blocks and managing the block chain
BlockManager *ethchain.BlockManager
// The transaction pool. Transaction can be pushed on this pool
......@@ -52,10 +52,14 @@ type Ethereum struct {
serverCaps Caps
nat NAT
// Specifies the desired amount of maximum peers
MaxPeers int
}
func New(caps Caps, usePnp bool) (*Ethereum, error) {
db, err := ethdb.NewMemDatabase()
db, err := ethdb.NewLDBDatabase()
//db, err := ethdb.NewMemDatabase()
if err != nil {
return nil, err
}
......@@ -79,6 +83,7 @@ func New(caps Caps, usePnp bool) (*Ethereum, error) {
Nonce: nonce,
serverCaps: caps,
nat: nat,
MaxPeers: 5,
}
ethereum.TxPool = ethchain.NewTxPool()
ethereum.TxPool.Speaker = ethereum
......@@ -93,7 +98,7 @@ func New(caps Caps, usePnp bool) (*Ethereum, error) {
func (s *Ethereum) AddPeer(conn net.Conn) {
peer := NewPeer(conn, s, true)
if peer != nil {
if peer != nil && s.peers.Len() < s.MaxPeers {
s.peers.PushBack(peer)
peer.Start()
}
......@@ -263,9 +268,10 @@ func (s *Ethereum) Stop() {
close(s.quit)
s.shutdownChan <- true
s.TxPool.Stop()
s.BlockManager.Stop()
s.shutdownChan <- true
}
// This function will wait for a shutdown and resumes main thread execution
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment