store the hash in map markset
This commit is contained in:
parent
90dc274113
commit
f97535d87e
@ -51,8 +51,8 @@ type MapMarkSetEnv struct {
|
|||||||
var _ MarkSetEnv = (*MapMarkSetEnv)(nil)
|
var _ MarkSetEnv = (*MapMarkSetEnv)(nil)
|
||||||
|
|
||||||
type MapMarkSet struct {
|
type MapMarkSet struct {
|
||||||
mx sync.Mutex
|
mx sync.Mutex
|
||||||
cids map[cid.Cid]struct{}
|
set map[string]struct{}
|
||||||
|
|
||||||
ts bool
|
ts bool
|
||||||
}
|
}
|
||||||
@ -65,8 +65,8 @@ func NewMapMarkSetEnv(ts bool) (*MapMarkSetEnv, error) {
|
|||||||
|
|
||||||
func (e *MapMarkSetEnv) Create(name string, sizeHint int64) (MarkSet, error) {
|
func (e *MapMarkSetEnv) Create(name string, sizeHint int64) (MarkSet, error) {
|
||||||
return &MapMarkSet{
|
return &MapMarkSet{
|
||||||
cids: make(map[cid.Cid]struct{}),
|
set: make(map[string]struct{}),
|
||||||
ts: e.ts,
|
ts: e.ts,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ func (s *MapMarkSet) Mark(cid cid.Cid) error {
|
|||||||
defer s.mx.Unlock()
|
defer s.mx.Unlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
s.cids[cid] = struct{}{}
|
s.set[string(cid.Hash())] = struct{}{}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ func (s *MapMarkSet) Has(cid cid.Cid) (bool, error) {
|
|||||||
defer s.mx.Unlock()
|
defer s.mx.Unlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
_, ok := s.cids[cid]
|
_, ok := s.set[string(cid.Hash())]
|
||||||
return ok, nil
|
return ok, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user