diff options
author | holisticode <holistic.computing@gmail.com> | 2019-02-07 22:49:19 +0800 |
---|---|---|
committer | Rafael Matias <rafael@skyle.net> | 2019-02-19 20:06:13 +0800 |
commit | d1ace4f344616fb6fa8643872c1f9cac89f8549e (patch) | |
tree | 807c6d7af3875e3aedc5fe6b24c463205cffab19 /swarm/storage/ldbstore.go | |
parent | 637a75d61a13ee8a89a702a2eadb5ace3c79e7da (diff) | |
download | dexon-d1ace4f344616fb6fa8643872c1f9cac89f8549e.tar.gz dexon-d1ace4f344616fb6fa8643872c1f9cac89f8549e.tar.zst dexon-d1ace4f344616fb6fa8643872c1f9cac89f8549e.zip |
swarm: Debug API and HasChunks() API endpoint (#18980)
(cherry picked from commit 41597c2856d6ac7328baca1340c3e36ab0edd382)
Diffstat (limited to 'swarm/storage/ldbstore.go')
-rw-r--r-- | swarm/storage/ldbstore.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/swarm/storage/ldbstore.go b/swarm/storage/ldbstore.go index 635d33429..a2f24eff0 100644 --- a/swarm/storage/ldbstore.go +++ b/swarm/storage/ldbstore.go @@ -969,6 +969,18 @@ func (s *LDBStore) Get(_ context.Context, addr Address) (chunk Chunk, err error) return s.get(addr) } +// Has queries the underlying DB if a chunk with the given address is stored +// Returns true if the chunk is found, false if not +func (s *LDBStore) Has(_ context.Context, addr Address) bool { + s.lock.RLock() + defer s.lock.RUnlock() + + ikey := getIndexKey(addr) + _, err := s.db.Get(ikey) + + return err == nil +} + // TODO: To conform with other private methods of this object indices should not be updated func (s *LDBStore) get(addr Address) (chunk *chunk, err error) { if s.closed { |