File tree 1 file changed +5
-3
lines changed 1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change 8
8
"math/rand/v2"
9
9
"sync"
10
10
11
- cid "github.com/ipfs/go-cid"
11
+ "github.com/ipfs/go-cid"
12
12
cbor "github.com/ipfs/go-ipld-cbor"
13
13
cbg "github.com/whyrusleeping/cbor-gen"
14
14
xerrors "golang.org/x/xerrors"
@@ -18,6 +18,7 @@ type cacheEntry[T any] struct {
18
18
value T
19
19
weight int
20
20
}
21
+
21
22
type weigthted2RCache [T any ] struct {
22
23
lk sync.Mutex
23
24
cache map [cid.Cid ]cacheEntry [T ]
@@ -30,6 +31,7 @@ func newWeighted2RCache[T any](cacheSize int) *weigthted2RCache[T] {
30
31
cacheSize : cacheSize ,
31
32
}
32
33
}
34
+
33
35
func (c * weigthted2RCache [T ]) Get (k cid.Cid ) (cacheEntry [T ], bool ) {
34
36
c .lk .Lock ()
35
37
defer c .lk .Unlock ()
@@ -54,8 +56,8 @@ func (c *weigthted2RCache[T]) Add(k cid.Cid, v cacheEntry[T]) {
54
56
55
57
c .cache [k ] = v
56
58
if len (c .cache ) > c .cacheSize {
57
- // pick two random entris using map iteration
58
- // work well for cacheSize > 8
59
+ // pick two random entries using map iteration
60
+ // this works well for cacheSize > 8
59
61
var k1 , k2 cid.Cid
60
62
var v1 , v2 cacheEntry [T ]
61
63
for k , v := range c .cache {
You can’t perform that action at this time.
0 commit comments