added AND ('&') operation.

This commit is contained in:
haseth 2020-03-12 08:16:08 +05:30
parent 46f4078530
commit ae0206e6c5
1 changed files with 7 additions and 13 deletions

View File

@ -125,11 +125,9 @@ func (c *cache) Get(k string) (interface{}, bool) {
c.mu.RUnlock() c.mu.RUnlock()
return nil, false return nil, false
} }
if item.Expiration > 0 { if item.Expiration > 0 && time.Now().UnixNano() > item.Expiration {
if time.Now().UnixNano() > item.Expiration { c.mu.RUnlock()
c.mu.RUnlock() return nil, false
return nil, false
}
} }
c.mu.RUnlock() c.mu.RUnlock()
return item.Object, true return item.Object, true
@ -171,10 +169,8 @@ func (c *cache) get(k string) (interface{}, bool) {
return nil, false return nil, false
} }
// "Inlining" of Expired // "Inlining" of Expired
if item.Expiration > 0 { if item.Expiration > 0 && time.Now().UnixNano() > item.Expiration {
if time.Now().UnixNano() > item.Expiration { return nil, false
return nil, false
}
} }
return item.Object, true return item.Object, true
} }
@ -1042,10 +1038,8 @@ func (c *cache) Items() map[string]Item {
now := time.Now().UnixNano() now := time.Now().UnixNano()
for k, v := range c.items { for k, v := range c.items {
// "Inlining" of Expired // "Inlining" of Expired
if v.Expiration > 0 { if v.Expiration > 0 && now > v.Expiration {
if now > v.Expiration { continue
continue
}
} }
m[k] = v m[k] = v
} }