Files
tun2socks/common/lru-cache/cache.go
2019-07-20 15:07:28 +08:00

31 lines
435 B
Go

package cache
import (
lru "github.com/hashicorp/golang-lru"
)
type Cache struct {
*lru.Cache
}
func (c *Cache) Purge() {
c.Cache.Purge()
}
func (c *Cache) Put(key interface{}, payload interface{}) {
_ = c.Cache.Add(key, payload)
}
func (c *Cache) Get(key interface{}) interface{} {
item, ok := c.Cache.Get(key)
if !ok {
return nil
}
return item
}
func New(size int) *Cache {
c, _ := lru.New(size)
return &Cache{c}
}