refactor out listStore
This commit is contained in:
32
weed/util/skiplist/list_store.go
Normal file
32
weed/util/skiplist/list_store.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package skiplist
|
||||
|
||||
type ListStore interface {
|
||||
SaveElement(id int64, element *SkipListElement) error
|
||||
DeleteElement(id int64) error
|
||||
LoadElement(id int64) (*SkipListElement, error)
|
||||
}
|
||||
|
||||
type MemStore struct {
|
||||
m map[int64]*SkipListElement
|
||||
}
|
||||
|
||||
func newMemStore() *MemStore {
|
||||
return &MemStore{
|
||||
m: make(map[int64]*SkipListElement),
|
||||
}
|
||||
}
|
||||
|
||||
func (m *MemStore) SaveElement(id int64, element *SkipListElement) error {
|
||||
m.m[id] = element
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *MemStore) DeleteElement(id int64) error {
|
||||
delete(m.m, id)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *MemStore) LoadElement(id int64) (*SkipListElement, error) {
|
||||
element := m.m[id]
|
||||
return element, nil
|
||||
}
|
||||
Reference in New Issue
Block a user