aboutsummaryrefslogtreecommitdiffstats
path: root/swarm/storage/mock/mem/mem.go
diff options
context:
space:
mode:
authorJanoš Guljaš <janos@users.noreply.github.com>2018-11-27 01:49:01 +0800
committerAnton Evangelatov <anton.evangelatov@gmail.com>2018-11-27 01:49:01 +0800
commitc207edf2a3a6f48b4fc78cc55982d648eedab198 (patch)
treeaed389f1cdaf964d3125971dbc81465175962015 /swarm/storage/mock/mem/mem.go
parent4f0d978eaaebdd118af3bfe623782c70601daaed (diff)
downloaddexon-c207edf2a3a6f48b4fc78cc55982d648eedab198.tar
dexon-c207edf2a3a6f48b4fc78cc55982d648eedab198.tar.gz
dexon-c207edf2a3a6f48b4fc78cc55982d648eedab198.tar.bz2
dexon-c207edf2a3a6f48b4fc78cc55982d648eedab198.tar.lz
dexon-c207edf2a3a6f48b4fc78cc55982d648eedab198.tar.xz
dexon-c207edf2a3a6f48b4fc78cc55982d648eedab198.tar.zst
dexon-c207edf2a3a6f48b4fc78cc55982d648eedab198.zip
swarm: add database abstractions (shed package) (#18183)
Diffstat (limited to 'swarm/storage/mock/mem/mem.go')
-rw-r--r--swarm/storage/mock/mem/mem.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/swarm/storage/mock/mem/mem.go b/swarm/storage/mock/mem/mem.go
index 8878309d0..3a0a2beb8 100644
--- a/swarm/storage/mock/mem/mem.go
+++ b/swarm/storage/mock/mem/mem.go
@@ -83,6 +83,22 @@ func (s *GlobalStore) Put(addr common.Address, key []byte, data []byte) error {
return nil
}
+// Delete removes the chunk data for node with address addr.
+func (s *GlobalStore) Delete(addr common.Address, key []byte) error {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+
+ var count int
+ if _, ok := s.nodes[string(key)]; ok {
+ delete(s.nodes[string(key)], addr)
+ count = len(s.nodes[string(key)])
+ }
+ if count == 0 {
+ delete(s.data, string(key))
+ }
+ return nil
+}
+
// HasKey returns whether a node with addr contains the key.
func (s *GlobalStore) HasKey(addr common.Address, key []byte) bool {
s.mu.Lock()