lotus/chain/badtscache.go

30 lines
462 B
Go
Raw Normal View History

2019-10-09 08:50:57 +00:00
package chain
import (
2019-10-09 12:23:45 +00:00
lru "github.com/hashicorp/golang-lru"
2019-10-09 08:50:57 +00:00
"github.com/ipfs/go-cid"
)
type BadBlockCache struct {
2019-10-09 12:23:45 +00:00
badBlocks *lru.ARCCache
2019-10-09 08:50:57 +00:00
}
func NewBadBlockCache() *BadBlockCache {
2019-10-09 12:23:45 +00:00
cache, err := lru.NewARC(8192)
if err != nil {
panic(err)
}
2019-10-09 08:50:57 +00:00
return &BadBlockCache{
2019-10-09 12:23:45 +00:00
badBlocks: cache,
2019-10-09 08:50:57 +00:00
}
}
func (bts *BadBlockCache) Add(c cid.Cid) {
2019-10-09 12:23:45 +00:00
bts.badBlocks.Add(c, nil)
2019-10-09 08:50:57 +00:00
}
func (bts *BadBlockCache) Has(c cid.Cid) bool {
2019-10-09 12:23:45 +00:00
return bts.badBlocks.Contains(c)
2019-10-09 08:50:57 +00:00
}