diff options
author | Janoš Guljaš <janos@users.noreply.github.com> | 2018-11-27 01:49:01 +0800 |
---|---|---|
committer | Anton Evangelatov <anton.evangelatov@gmail.com> | 2018-11-27 01:49:01 +0800 |
commit | c207edf2a3a6f48b4fc78cc55982d648eedab198 (patch) | |
tree | aed389f1cdaf964d3125971dbc81465175962015 /swarm/storage/mock/mem | |
parent | 4f0d978eaaebdd118af3bfe623782c70601daaed (diff) | |
download | dexon-c207edf2a3a6f48b4fc78cc55982d648eedab198.tar.gz dexon-c207edf2a3a6f48b4fc78cc55982d648eedab198.tar.zst dexon-c207edf2a3a6f48b4fc78cc55982d648eedab198.zip |
swarm: add database abstractions (shed package) (#18183)
Diffstat (limited to 'swarm/storage/mock/mem')
-rw-r--r-- | swarm/storage/mock/mem/mem.go | 16 |
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() |