...
1 package auth
2
3 import (
4 apb "golang.conradwood.net/apis/auth"
5 "golang.conradwood.net/go-easyops/cache"
6 "sync"
7 "time"
8 )
9
10 var (
11 users = cache.New("goeasyops_usercache", time.Duration(60)*time.Second, 100)
12 cacheLock sync.Mutex
13 )
14
15 func cacheAdd(a *apb.User) {
16 if a == nil {
17 return
18 }
19 cacheLock.Lock()
20 defer cacheLock.Unlock()
21 users.Put(a.ID, a)
22 }
23
24 func cacheByID(id string) *apb.User {
25 cacheLock.Lock()
26 defer cacheLock.Unlock()
27 l := users.Get(id)
28 if l == nil {
29 return nil
30 }
31 return l.(*apb.User)
32 }
33
View as plain text