...

Source file src/golang.conradwood.net/go-easyops/auth/usercache.go

Documentation: golang.conradwood.net/go-easyops/auth

     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