const for open file limit

This commit is contained in:
Sina Mahmoodi 2025-04-10 15:55:26 +02:00 committed by lightclient
parent 3f91617093
commit 7c715904b7
No known key found for this signature in database
GPG key ID: 657913021EF45A6A

View file

@ -33,11 +33,14 @@ import (
* - FD leak possible on concurrent access to GetRaw*. * - FD leak possible on concurrent access to GetRaw*.
*/ */
const (
openFileLimit = 64
)
// EraDatabase manages read access to a directory of era1 files. // EraDatabase manages read access to a directory of era1 files.
// The getter methods are thread-safe. // The getter methods are thread-safe.
type EraDatabase struct { type EraDatabase struct {
datadir string datadir string
// TODO: should take into account configured number of fd handles.
cache *lru.Cache[uint64, *era.Era] cache *lru.Cache[uint64, *era.Era]
} }
@ -57,7 +60,7 @@ func New(datadir string) (*EraDatabase, error) {
if err := os.MkdirAll(datadir, 0755); err != nil { if err := os.MkdirAll(datadir, 0755); err != nil {
return nil, err return nil, err
} }
db := &EraDatabase{datadir: datadir, cache: lru.NewCache[uint64, *era.Era](50)} db := &EraDatabase{datadir: datadir, cache: lru.NewCache[uint64, *era.Era](openFileLimit)}
log.Info("Opened erastore", "datadir", datadir) log.Info("Opened erastore", "datadir", datadir)
return db, nil return db, nil
} }