This commit is contained in:
lash 2017-11-05 21:13:20 +00:00 committed by GitHub
commit 0fdb00b23b
6 changed files with 21 additions and 6 deletions

View file

@ -36,7 +36,7 @@ func testApi(t *testing.T, f func(*Api)) {
} }
os.RemoveAll(datadir) os.RemoveAll(datadir)
defer os.RemoveAll(datadir) defer os.RemoveAll(datadir)
dpa, err := storage.NewLocalDPA(datadir) dpa, err := storage.NewLocalDPA(datadir, "")
if err != nil { if err != nil {
return return
} }

View file

@ -810,7 +810,7 @@ func TestFUSE(t *testing.T) {
} }
os.RemoveAll(datadir) os.RemoveAll(datadir)
dpa, err := storage.NewLocalDPA(datadir) dpa, err := storage.NewLocalDPA(datadir, "")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View file

@ -95,10 +95,19 @@ func NewDbStore(path string, hash SwarmHasher, capacity uint64, radius int) (s *
data, _ := s.db.Get(keyEntryCnt) data, _ := s.db.Get(keyEntryCnt)
s.entryCnt = BytesToU64(data) s.entryCnt = BytesToU64(data)
if len(data) > 0 {
s.entryCnt++
}
data, _ = s.db.Get(keyAccessCnt) data, _ = s.db.Get(keyAccessCnt)
s.accessCnt = BytesToU64(data) s.accessCnt = BytesToU64(data)
if len(data) > 0 {
s.accessCnt++
}
data, _ = s.db.Get(keyDataIdx) data, _ = s.db.Get(keyDataIdx)
s.dataIdx = BytesToU64(data) s.dataIdx = BytesToU64(data)
if len(data) > 0 {
s.dataIdx++
}
s.gcPos, _ = s.db.Get(keyGCPos) s.gcPos, _ = s.db.Get(keyGCPos)
if s.gcPos == nil { if s.gcPos == nil {
s.gcPos = s.gcStartPos s.gcPos = s.gcStartPos

View file

@ -63,9 +63,12 @@ type DPA struct {
} }
// for testing locally // for testing locally
func NewLocalDPA(datadir string) (*DPA, error) { func NewLocalDPA(datadir string, hashalgorithm string) (*DPA, error) {
hash := MakeHashFunc("SHA256") if hashalgorithm == "" {
hashalgorithm = "SHA3"
}
hash := MakeHashFunc(hashalgorithm)
dbStore, err := NewDbStore(datadir, hash, singletonSwarmDbCapacity, 0) dbStore, err := NewDbStore(datadir, hash, singletonSwarmDbCapacity, 0)
if err != nil { if err != nil {
@ -116,6 +119,7 @@ func (self *DPA) Start() {
func (self *DPA) Stop() { func (self *DPA) Stop() {
self.lock.Lock() self.lock.Lock()
self.Close()
defer self.lock.Unlock() defer self.lock.Unlock()
if !self.running { if !self.running {
return return

View file

@ -74,4 +74,6 @@ func (self *LocalStore) Get(key Key) (chunk *Chunk, err error) {
} }
// Close local store // Close local store
func (self *LocalStore) Close() {} func (self *LocalStore) Close() {
self.DbStore.Close()
}

View file

@ -320,7 +320,7 @@ func NewLocalSwarm(datadir, port string) (self *Swarm, err error) {
} }
config.Port = port config.Port = port
dpa, err := storage.NewLocalDPA(datadir) dpa, err := storage.NewLocalDPA(datadir, "")
if err != nil { if err != nil {
return return
} }