diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-04-24 02:46:27 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-04-24 02:46:27 +0800 |
commit | f5e0388f62085c7eb100769765f8649ec364c1bd (patch) | |
tree | 5a40c627855698b6d5a912c84ab8008fdc24da44 /ethdb | |
parent | abe08d7be34d5d3278f8473bdbd5a94756f8cfd3 (diff) | |
parent | c12180d00566dba977b2d34f61ed52e2a4d279ed (diff) | |
download | dexon-f5e0388f62085c7eb100769765f8649ec364c1bd.tar dexon-f5e0388f62085c7eb100769765f8649ec364c1bd.tar.gz dexon-f5e0388f62085c7eb100769765f8649ec364c1bd.tar.bz2 dexon-f5e0388f62085c7eb100769765f8649ec364c1bd.tar.lz dexon-f5e0388f62085c7eb100769765f8649ec364c1bd.tar.xz dexon-f5e0388f62085c7eb100769765f8649ec364c1bd.tar.zst dexon-f5e0388f62085c7eb100769765f8649ec364c1bd.zip |
Merge pull request #778 from bas-vk/issue764
Moved database update loop to eth/backend
Diffstat (limited to 'ethdb')
-rw-r--r-- | ethdb/database.go | 28 | ||||
-rw-r--r-- | ethdb/memory_database.go | 4 |
2 files changed, 7 insertions, 25 deletions
diff --git a/ethdb/database.go b/ethdb/database.go index eb562f852..57a3f9ee6 100644 --- a/ethdb/database.go +++ b/ethdb/database.go @@ -2,7 +2,6 @@ package ethdb import ( "sync" - "time" "github.com/ethereum/go-ethereum/compression/rle" "github.com/ethereum/go-ethereum/logger" @@ -35,8 +34,6 @@ func NewLDBDatabase(file string) (*LDBDatabase, error) { } database.makeQueue() - go database.update() - return database, nil } @@ -111,35 +108,16 @@ func (self *LDBDatabase) Flush() error { } self.makeQueue() // reset the queue + glog.V(logger.Detail).Infoln("Flush database: ", self.fn) + return self.db.Write(batch, nil) } func (self *LDBDatabase) Close() { - self.quit <- struct{}{} - <-self.quit - glog.V(logger.Info).Infoln("flushed and closed db:", self.fn) -} - -func (self *LDBDatabase) update() { - ticker := time.NewTicker(1 * time.Minute) -done: - for { - select { - case <-ticker.C: - if err := self.Flush(); err != nil { - glog.V(logger.Error).Infof("error: flush '%s': %v\n", self.fn, err) - } - case <-self.quit: - break done - } - } - if err := self.Flush(); err != nil { glog.V(logger.Error).Infof("error: flush '%s': %v\n", self.fn, err) } - // Close the leveldb database self.db.Close() - - self.quit <- struct{}{} + glog.V(logger.Error).Infoln("flushed and closed db:", self.fn) } diff --git a/ethdb/memory_database.go b/ethdb/memory_database.go index d4988d0d8..f5d5faee7 100644 --- a/ethdb/memory_database.go +++ b/ethdb/memory_database.go @@ -65,3 +65,7 @@ func (db *MemDatabase) LastKnownTD() []byte { return data } + +func (db *MemDatabase) Flush() error { + return nil +} |