mirror of
https://github.com/xjasonlyu/tun2socks.git
synced 2025-10-11 19:50:19 +08:00
27 lines
461 B
Go
27 lines
461 B
Go
package cache
|
|
|
|
import (
|
|
lru "github.com/hashicorp/golang-lru"
|
|
)
|
|
|
|
type Cache struct {
|
|
*lru.Cache
|
|
}
|
|
|
|
func (c *Cache) Add(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, onEvicted func(key interface{}, value interface{})) *Cache {
|
|
c, _ := lru.NewWithEvict(size, onEvicted)
|
|
return &Cache{c}
|
|
}
|