🦴 update skeleton

This commit is contained in:
Fenny
2020-10-31 11:58:00 +01:00
parent ef04d509b9
commit 0692b9048e
10 changed files with 117 additions and 23 deletions

View File

@@ -4,6 +4,7 @@ import "time"
// Storage interface that is implemented by storage providers
type Storage struct {
gcInterval time.Duration
}
// New creates a new storage
@@ -16,10 +17,15 @@ func New(config ...Config) *Storage {
cfg = configDefault(config[0])
}
// TODO
_ = cfg
// Create storage
store := &Storage{
gcInterval: cfg.GCInterval,
}
return &Storage{}
// Start garbage collector
go store.gc()
return store
}
// Get value by key
@@ -41,3 +47,12 @@ func (s *Storage) Delete(key string) error {
func (s *Storage) Clear() error {
return nil
}
// Garbage collector to delete expired keys
func (s *Storage) gc() {
tick := time.NewTicker(s.gcInterval)
for {
<-tick.C
// clean entries
}
}