mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-09-01 16:01:55 +03:00
Use ristretto instead of bigcache
This commit is contained in:
+21
-9
@@ -1,26 +1,38 @@
|
||||
package antireplay
|
||||
|
||||
import "github.com/allegro/bigcache"
|
||||
import "github.com/dgraph-io/ristretto"
|
||||
|
||||
var (
|
||||
prefixObfuscated2 = []byte{0x00}
|
||||
prefixTLS = []byte{0x01}
|
||||
)
|
||||
|
||||
type cache struct {
|
||||
obfuscated2 *bigcache.BigCache
|
||||
tls *bigcache.BigCache
|
||||
data *ristretto.Cache
|
||||
}
|
||||
|
||||
func (c *cache) AddObfuscated2(data []byte) {
|
||||
c.obfuscated2.Set(string(data), nil) // nolint: errcheck
|
||||
c.data.Set(keyObfuscated2(data), nil, int64(len(data)))
|
||||
}
|
||||
|
||||
func (c *cache) AddTLS(data []byte) {
|
||||
c.tls.Set(string(data), nil) // nolint: errcheck
|
||||
c.data.Set(keyTLS(data), nil, int64(len(data)))
|
||||
}
|
||||
|
||||
func (c *cache) HasObfuscated2(data []byte) bool {
|
||||
_, err := c.obfuscated2.Get(string(data))
|
||||
return err == nil
|
||||
_, ok := c.data.Get(keyObfuscated2(data))
|
||||
return ok
|
||||
}
|
||||
|
||||
func (c *cache) HasTLS(data []byte) bool {
|
||||
_, err := c.tls.Get(string(data))
|
||||
return err == nil
|
||||
_, ok := c.data.Get(keyTLS(data))
|
||||
return ok
|
||||
}
|
||||
|
||||
func keyObfuscated2(data []byte) string {
|
||||
return string(append(prefixObfuscated2, data...))
|
||||
}
|
||||
|
||||
func keyTLS(data []byte) string {
|
||||
return string(append(prefixTLS, data...))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user