Documentation
¶
Index ¶
- Constants
- Variables
- func GetCRCString(id string) uint16
- type DataErr
- type DataLandingPtr
- type DataMgr
- func (dm *DataMgr[K, V, TSHM]) DelData(k K, f func(K, *V) error)
- func (dm *DataMgr[K, V, TSHM]) GetCacheSize() int
- func (dm *DataMgr[K, V, TSHM]) NewData(k K, h int, v V, cb func(V, error))
- func (dm *DataMgr[K, V, TSHM]) OpData(key K, h int, cb func(K, error), f func(*V, *TSHM) error)
- func (dm *DataMgr[K, V, TSHM]) PushData(k K, h int, v V, shm TSHM)
- type DataPreparePtr
- type DataUnit
- type PoolData
Constants ¶
View Source
const ( ErrCodeSuccess = iota ErrCodeDeconstruct ErrCodeParamError ErrCodeDataNotFound ErrCodeDataAlreadyExists ErrCodeDataAlreadyDeleted ErrCodeLoadDataFailed ErrCodeNoEnoughShmMem ErrcodeShmMemIsNil )
View Source
const ( DataUnitOpTypeNone = iota DataUnitOpTypeSet DataUnitOpTypeAdd DataUnitOpTypeDel )
View Source
const (
MaxNodeID = 16384
)
Variables ¶
View Source
var PrintTest = false
Functions ¶
func GetCRCString ¶
Types ¶
type DataLandingPtr ¶
type DataLandingPtr[K cmp.Ordered, T any] struct { Dirty bool // 是否需要更新 ShmPtr *PoolData[K, T] // 指向共享内存的指针 }
func (*DataLandingPtr[K, T]) Set ¶
func (p *DataLandingPtr[K, T]) Set(Key K, data T) error
type DataMgr ¶
创建后便不可销毁
func CreateDataMgr ¶
func CreateDataMgr[K cmp.Ordered, V any, TSHM any](max_size int, load_data_func func(K) (V, error), load_func func(*DataMgr[K, V, TSHM]), fetch_shm_func func() (TSHM, error), release_shm_func func(*TSHM), data_del_func func(*DataUnit[V, TSHM]), data_load_func func(*V, *TSHM), data_create_func func(k K, v V) (V, error), data_landing_func func(*DataUnit[V, TSHM]), ) *DataMgr[K, V, TSHM]
*
- 创建数据管理器
- @param max_size 最大缓存大小
- @param load_data_func 加载数据
- @param load_func 加载函数(加载共享内存,并初始化数据)
- @param fetch_shm_func 获取共享内存
- @param release_shm_func 释放共享内存
- @param data_del_func 数据删除
- @param data_load_func 数据加载
- @param data_create_func 数据创建(直接落地到db,成功则说明创建成功,失败则说明数据落地失败)
- @param landing_func 数据落地
- @return 数据管理器
func (*DataMgr[K, V, TSHM]) GetCacheSize ¶
type DataPreparePtr ¶
Click to show internal directories.
Click to hide internal directories.