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,12 +125,10 @@ 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,11 +169,9 @@ 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,11 +1038,9 @@ 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
} }
return m return m