mirror of
https://github.com/kataras/iris.git
synced 2025-12-28 15:27:03 +00:00
replace ioutil with io package and other minor improvements
This commit is contained in:
@@ -94,24 +94,28 @@ func (s *mem) OnUpdateExpiration(string, time.Duration) error { return nil }
|
||||
// immutable depends on the store, it may not implement it at all.
|
||||
func (s *mem) Set(sid string, key string, value interface{}, _ time.Duration, immutable bool) error {
|
||||
s.mu.RLock()
|
||||
s.values[sid].Save(key, value, immutable)
|
||||
store, ok := s.values[sid]
|
||||
s.mu.RUnlock()
|
||||
if ok {
|
||||
store.Save(key, value, immutable)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *mem) Get(sid string, key string) interface{} {
|
||||
s.mu.RLock()
|
||||
v := s.values[sid].Get(key)
|
||||
store, ok := s.values[sid]
|
||||
s.mu.RUnlock()
|
||||
if ok {
|
||||
return store.Get(key)
|
||||
}
|
||||
|
||||
return v
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *mem) Decode(sid string, key string, outPtr interface{}) error {
|
||||
s.mu.RLock()
|
||||
v := s.values[sid].Get(key)
|
||||
s.mu.RUnlock()
|
||||
v := s.Get(sid, key)
|
||||
if v != nil {
|
||||
reflect.ValueOf(outPtr).Set(reflect.ValueOf(v))
|
||||
}
|
||||
@@ -119,29 +123,45 @@ func (s *mem) Decode(sid string, key string, outPtr interface{}) error {
|
||||
}
|
||||
|
||||
func (s *mem) Visit(sid string, cb func(key string, value interface{})) error {
|
||||
s.values[sid].Visit(cb)
|
||||
s.mu.RLock()
|
||||
store, ok := s.values[sid]
|
||||
s.mu.RUnlock()
|
||||
if ok {
|
||||
store.Visit(cb)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *mem) Len(sid string) int {
|
||||
s.mu.RLock()
|
||||
n := s.values[sid].Len()
|
||||
store, ok := s.values[sid]
|
||||
s.mu.RUnlock()
|
||||
if ok {
|
||||
return store.Len()
|
||||
}
|
||||
|
||||
return n
|
||||
return 0
|
||||
}
|
||||
|
||||
func (s *mem) Delete(sid string, key string) (deleted bool) {
|
||||
s.mu.RLock()
|
||||
deleted = s.values[sid].Remove(key)
|
||||
store, ok := s.values[sid]
|
||||
s.mu.RUnlock()
|
||||
if ok {
|
||||
deleted = store.Remove(key)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (s *mem) Clear(sid string) error {
|
||||
s.mu.Lock()
|
||||
s.values[sid].Reset()
|
||||
s.mu.Unlock()
|
||||
s.mu.RLock()
|
||||
store, ok := s.values[sid]
|
||||
s.mu.RUnlock()
|
||||
if ok {
|
||||
store.Reset()
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
@@ -150,7 +170,6 @@ func (s *mem) Release(sid string) error {
|
||||
s.mu.Lock()
|
||||
delete(s.values, sid)
|
||||
s.mu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user