yaxc/internal/bcache/expiration.go
2021-04-03 14:00:24 +02:00

27 lines
480 B
Go

package bcache
import "time"
// EXPIRATION
const ExpirationDefault time.Duration = -1
const ExpirationKeep time.Duration = 0
type nodeExpiration int64
func (e nodeExpiration) IsExpired() bool {
if e == 0 {
return false
}
return time.Now().Unix() > int64(e)
}
func (c *Cache) expiration(d time.Duration) nodeExpiration {
if d == ExpirationKeep {
return 0
}
if d == ExpirationDefault {
d = c.defaultExpiration
}
return nodeExpiration(time.Now().Add(d).Unix())
}