mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 16:24:03 +03:00
Use fastcache instead of ristretto
This commit is contained in:
+10
-12
@@ -1,6 +1,6 @@
|
||||
package antireplay
|
||||
|
||||
import "github.com/dgraph-io/ristretto"
|
||||
import "github.com/VictoriaMetrics/fastcache"
|
||||
|
||||
var (
|
||||
prefixObfuscated2 = []byte{0x00}
|
||||
@@ -8,31 +8,29 @@ var (
|
||||
)
|
||||
|
||||
type cache struct {
|
||||
data *ristretto.Cache
|
||||
data *fastcache.Cache
|
||||
}
|
||||
|
||||
func (c *cache) AddObfuscated2(data []byte) {
|
||||
c.data.Set(keyObfuscated2(data), nil, int64(len(data)))
|
||||
c.data.Set(keyObfuscated2(data), nil)
|
||||
}
|
||||
|
||||
func (c *cache) AddTLS(data []byte) {
|
||||
c.data.Set(keyTLS(data), nil, int64(len(data)))
|
||||
c.data.Set(keyTLS(data), nil)
|
||||
}
|
||||
|
||||
func (c *cache) HasObfuscated2(data []byte) bool {
|
||||
_, ok := c.data.Get(keyObfuscated2(data))
|
||||
return ok
|
||||
return c.data.Has(keyObfuscated2(data))
|
||||
}
|
||||
|
||||
func (c *cache) HasTLS(data []byte) bool {
|
||||
_, ok := c.data.Get(keyTLS(data))
|
||||
return ok
|
||||
return c.data.Has(keyTLS(data))
|
||||
}
|
||||
|
||||
func keyObfuscated2(data []byte) string {
|
||||
return string(append(prefixObfuscated2, data...))
|
||||
func keyObfuscated2(data []byte) []byte {
|
||||
return append(prefixObfuscated2, data...)
|
||||
}
|
||||
|
||||
func keyTLS(data []byte) string {
|
||||
return string(append(prefixTLS, data...))
|
||||
func keyTLS(data []byte) []byte {
|
||||
return append(prefixTLS, data...)
|
||||
}
|
||||
|
||||
+2
-16
@@ -1,10 +1,9 @@
|
||||
package antireplay
|
||||
|
||||
import (
|
||||
"math"
|
||||
"sync"
|
||||
|
||||
"github.com/dgraph-io/ristretto"
|
||||
"github.com/VictoriaMetrics/fastcache"
|
||||
|
||||
"mtg/config"
|
||||
)
|
||||
@@ -16,19 +15,6 @@ var (
|
||||
|
||||
func Init() {
|
||||
initOnce.Do(func() {
|
||||
cost := float64(config.C.AntiReplayMaxSize) / 32.0
|
||||
cost = math.Ceil(cost)
|
||||
|
||||
c, err := ristretto.NewCache(&ristretto.Config{
|
||||
NumCounters: int64(cost) * 10,
|
||||
MaxCost: config.C.AntiReplayMaxSize,
|
||||
BufferItems: 64,
|
||||
Metrics: false,
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
Cache.data = c
|
||||
Cache.data = fastcache.New(config.C.AntiReplayMaxSize)
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user