6d754635e7bf320b906bea2340fc4dc4b5f97f3f
Add WriteCacheManager inner class to FileStore with ConcurrentDictionary-based
tracking of per-block write sizes and timestamps, a PeriodicTimer (500ms tick)
background eviction loop, TTL-based expiry, and size-cap enforcement. Add
TrackWrite/TrackWriteAt/EvictBlock/FlushAllAsync/DisposeAsync API. Integrate
into FileStore constructor, AppendAsync, StoreMsg, StoreRawMsg, and RotateBlock.
Add MaxCacheSize/CacheExpiry options to FileStoreOptions. 12 new tests cover
size tracking, TTL eviction, size-cap eviction, flush-all, and integration paths.
Reference: golang/nats-server/server/filestore.go:4443 (setupWriteCache),
golang/nats-server/server/filestore.go:6148 (expireCache).
Description
No description provided
Languages
C#
99.9%