@ -77,7 +77,7 @@ func setMaxMemory() error {
return err
}
if err == nil && stats.TotalRAM < globalMaxCacheSize {
globalMaxCacheSize = (80 / 100) * stats.TotalRAM
globalMaxCacheSize = uint64(float64(80*stats.TotalRAM) / 100)
return nil
@ -73,6 +73,9 @@ type Cache struct {
// the items in the cache never expire (by default), and must be deleted
// manually.
func New(maxSize uint64, expiry time.Duration) *Cache {
if maxSize == 0 {
panic("objcache: setting maximum cache size to zero is forbidden.")
C := &Cache{
maxSize: maxSize,
entries: make(map[string]*buffer),