diff options
author | obscuren <geffobscura@gmail.com> | 2014-02-09 04:02:09 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-02-09 04:02:09 +0800 |
commit | 1f7b13ff4ec7e8cb0e81648fd37db5d867715915 (patch) | |
tree | bd96f9b2296869ce6a0466105ec40580d706d273 /ethereum.go | |
parent | 04c00f40f0c31e2c927d3a67e3e115a5cb5b539d (diff) | |
download | go-tangerine-1f7b13ff4ec7e8cb0e81648fd37db5d867715915.tar go-tangerine-1f7b13ff4ec7e8cb0e81648fd37db5d867715915.tar.gz go-tangerine-1f7b13ff4ec7e8cb0e81648fd37db5d867715915.tar.bz2 go-tangerine-1f7b13ff4ec7e8cb0e81648fd37db5d867715915.tar.lz go-tangerine-1f7b13ff4ec7e8cb0e81648fd37db5d867715915.tar.xz go-tangerine-1f7b13ff4ec7e8cb0e81648fd37db5d867715915.tar.zst go-tangerine-1f7b13ff4ec7e8cb0e81648fd37db5d867715915.zip |
Switched over to leveldb instead of memdb
Diffstat (limited to 'ethereum.go')
-rw-r--r-- | ethereum.go | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/ethereum.go b/ethereum.go index 2500892f0..cc3f1695b 100644 --- a/ethereum.go +++ b/ethereum.go @@ -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 |