crowdsec/pkg/leakybucket/buckets.go
Thibault bui Koechlin 2016167654 initial import
2020-05-15 11:39:16 +02:00

26 lines
503 B
Go

package leakybucket
import (
"crypto/sha1"
"fmt"
"sync"
)
// Buckets is the struct used to hold buckets in the context of
// main.go the idea is to have one struct to rule them all
type Buckets struct {
Bucket_map sync.Map
}
// NewBuckets create the Buckets struct
func NewBuckets() *Buckets {
return &Buckets{
Bucket_map: sync.Map{},
}
}
func GetKey(bucketCfg BucketFactory, stackkey string) string {
return fmt.Sprintf("%x", sha1.Sum([]byte(bucketCfg.Filter+stackkey+bucketCfg.Name)))
}