Refactor Tx, Validator, and Account structure

This commit is contained in:
Jae Kwon
2014-12-16 05:45:40 -08:00
parent 4424a85fbd
commit 83d313cbe5
56 changed files with 1917 additions and 2022 deletions
+3
View File
@@ -3,4 +3,7 @@ package db
type DB interface {
Get([]byte) []byte
Set([]byte, []byte)
SetSync([]byte, []byte)
Delete([]byte)
DeleteSync([]byte)
}
+22 -7
View File
@@ -3,6 +3,7 @@ package db
import (
"fmt"
"github.com/syndtr/goleveldb/leveldb"
"github.com/syndtr/goleveldb/leveldb/opt"
"path"
)
@@ -20,13 +21,6 @@ func NewLevelDB(name string) (*LevelDB, error) {
return database, nil
}
func (db *LevelDB) Set(key []byte, value []byte) {
err := db.db.Put(key, value, nil)
if err != nil {
panic(err)
}
}
func (db *LevelDB) Get(key []byte) []byte {
res, err := db.db.Get(key, nil)
if err != nil {
@@ -35,6 +29,20 @@ func (db *LevelDB) Get(key []byte) []byte {
return res
}
func (db *LevelDB) Set(key []byte, value []byte) {
err := db.db.Put(key, value, nil)
if err != nil {
panic(err)
}
}
func (db *LevelDB) SetSync(key []byte, value []byte) {
err := db.db.Put(key, value, &opt.WriteOptions{Sync: true})
if err != nil {
panic(err)
}
}
func (db *LevelDB) Delete(key []byte) {
err := db.db.Delete(key, nil)
if err != nil {
@@ -42,6 +50,13 @@ func (db *LevelDB) Delete(key []byte) {
}
}
func (db *LevelDB) DeleteSync(key []byte) {
err := db.db.Delete(key, &opt.WriteOptions{Sync: true})
if err != nil {
panic(err)
}
}
func (db *LevelDB) Db() *leveldb.DB {
return db.db
}
+12 -4
View File
@@ -13,18 +13,26 @@ func NewMemDB() *MemDB {
return database
}
func (db *MemDB) Set(key []byte, value []byte) {
db.db[string(key)] = value
}
func (db *MemDB) Get(key []byte) []byte {
return db.db[string(key)]
}
func (db *MemDB) Set(key []byte, value []byte) {
db.db[string(key)] = value
}
func (db *MemDB) SetSync(key []byte, value []byte) {
db.db[string(key)] = value
}
func (db *MemDB) Delete(key []byte) {
delete(db.db, string(key))
}
func (db *MemDB) DeleteSync(key []byte) {
delete(db.db, string(key))
}
func (db *MemDB) Print() {
for key, value := range db.db {
fmt.Printf("[%X]:\t[%X]\n", []byte(key), value)