Documentation
¶
Index ¶
- func InitMachineID(machineID int16)
- func MachineID(id int64) int16
- func MachineIDHigh(id int64) int16
- func MachineIDLow(id int64) int16
- func NextID(tp int) (int64, error)
- func SectionIDRandSelector(id int64) selector.SelectOption
- func SpecificIDSelector(id int64) selector.SelectOption
- type CacheDBLoadCB
- type CacheLoader
- func (c *CacheLoader) Delete(key interface{})
- func (c *CacheLoader) Load(key interface{}) CacheObjector
- func (c *CacheLoader) LoadFromDB(key interface{}) CacheObjector
- func (c *CacheLoader) LoadFromMemory(key interface{}) CacheObjector
- func (c *CacheLoader) PureLoadFromDB(key interface{}) []CacheObjector
- func (c *CacheLoader) Store(obj interface{})
- type CacheObjectNewFunc
- type CacheObjector
- type Snowflakes
- type WaitGroupWrapper
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitMachineID ¶
func InitMachineID(machineID int16)
snow flakes machine_id: 10 bits machineID + 6 bits plugin_type
func MachineIDHigh ¶
func MachineIDLow ¶
func SectionIDRandSelector ¶
func SectionIDRandSelector(id int64) selector.SelectOption
select node by section id: game_id / 10
func SpecificIDSelector ¶
func SpecificIDSelector(id int64) selector.SelectOption
select node by specific game_id
Types ¶
type CacheDBLoadCB ¶
type CacheDBLoadCB func(interface{})
type CacheLoader ¶
type CacheLoader struct {
// contains filtered or unexported fields
}
func NewCacheLoader ¶
func NewCacheLoader(ctx context.Context, coll *mongo.Collection, docField string, newFunc CacheObjectNewFunc, dbCB CacheDBLoadCB) *CacheLoader
func (*CacheLoader) Delete ¶
func (c *CacheLoader) Delete(key interface{})
delete cache, stop expire timer
func (*CacheLoader) Load ¶
func (c *CacheLoader) Load(key interface{}) CacheObjector
get cache object, if not hit, load from database
func (*CacheLoader) LoadFromDB ¶
func (c *CacheLoader) LoadFromDB(key interface{}) CacheObjector
only load from database, usually you should only use CacheLoader.Load()
func (*CacheLoader) LoadFromMemory ¶
func (c *CacheLoader) LoadFromMemory(key interface{}) CacheObjector
only load from memory, usually you should only use CacheLoader.Load()
func (*CacheLoader) PureLoadFromDB ¶
func (c *CacheLoader) PureLoadFromDB(key interface{}) []CacheObjector
func (*CacheLoader) Store ¶
func (c *CacheLoader) Store(obj interface{})
save cache object and begin count down timer
type CacheObjectNewFunc ¶
type CacheObjectNewFunc func() interface{}
type CacheObjector ¶
type Snowflakes ¶
type Snowflakes struct {
// contains filtered or unexported fields
}
type WaitGroupWrapper ¶
func (*WaitGroupWrapper) Wrap ¶
func (w *WaitGroupWrapper) Wrap(cb func())
Click to show internal directories.
Click to hide internal directories.