123456789101112131415161718192021 |
- package gls
- import (
- "sync"
- )
- var (
- keyMtx sync.Mutex
- keyCounter uint64
- )
- // ContextKey is a throwaway value you can use as a key to a ContextManager
- type ContextKey struct{ id uint64 }
- // GenSym will return a brand new, never-before-used ContextKey
- func GenSym() ContextKey {
- keyMtx.Lock()
- defer keyMtx.Unlock()
- keyCounter += 1
- return ContextKey{id: keyCounter}
- }
|