Documentation
¶
Index ¶
- Constants
- Variables
- func AddDeserializerListener(fn func())
- func AddGCRoots(keys ...Key)
- func AddSerializerListener(fn func())
- func ClearCache()
- func GetDeserializer() serial.PrefixDeserializer
- func GetSerializer() serial.PrefixSerializer
- func SetDeserializer(d serial.PrefixDeserializer)
- func SetSerializer(s serial.PrefixSerializer)
- type DefaultDeferrer
- type Deferrer
- type EntIniter
- type EntPtr
- type Entity
- type Key
- type Key32
- type Ref
- func (er *Ref[T, E]) Clear(cacheRm bool)
- func (er *Ref[T, E]) Delete() error
- func (er *Ref[T, E]) EntKey() Key
- func (er *Ref[T, E]) Get() (e E, ok bool)
- func (er *Ref[T, E]) GetEnt() (e Entity, ok bool)
- func (er *Ref[T, E]) GetPtr() (e E)
- func (er *Ref[T, E]) GobDecode(key []byte) error
- func (er *Ref[T, E]) GobEncode() ([]byte, error)
- func (er *Ref[T, E]) Save(ent E) error
- func (er *Ref[T, E]) WeakGet() (e E, ok bool)
- type Referer
- type Refs
- type Refser
Constants ¶
View Source
const ( ErrNilStore = lerr.Str("entity.Store is nil") ErrNilEntRef = lerr.Str("entity pointer in EntRef is nil") ErrNoRecord = lerr.Str("no record exists in the store for the given key") )
View Source
const ErrBadKey = lerr.Str("bad entity key")
ErrBadKey is thrown when attempting to Put an entity with no key or a key comprised of all zeros. This detects when keys are not being set correctly or when incrementing values are being used which will result in collision.
View Source
const ErrNilPtr = lerr.Str("entity reference has nil pointer")
Variables ¶
View Source
var ( Store store.FlatStore ErrMustBeRefser = lerr.Str("must fulfill type entity.Refser") )
View Source
var RandKeyLength = 8
Functions ¶
func AddDeserializerListener ¶
func AddDeserializerListener(fn func())
func AddGCRoots ¶
func AddGCRoots(keys ...Key)
func AddSerializerListener ¶
func AddSerializerListener(fn func())
func ClearCache ¶
func ClearCache()
func GetDeserializer ¶
func GetDeserializer() serial.PrefixDeserializer
func GetSerializer ¶
func GetSerializer() serial.PrefixSerializer
func SetDeserializer ¶
func SetDeserializer(d serial.PrefixDeserializer)
func SetSerializer ¶
func SetSerializer(s serial.PrefixSerializer)
Types ¶
type DefaultDeferrer ¶
type DefaultDeferrer struct{}
func (DefaultDeferrer) DeferCacheClear ¶
func (dd DefaultDeferrer) DeferCacheClear(er Referer)
func (DefaultDeferrer) DeferSave ¶
func (dd DefaultDeferrer) DeferSave(er Referer, saveFn func() error)
type Deferrer ¶
var DeferStrategy Deferrer = DefaultDeferrer{}
type EntIniter ¶
type EntIniter interface {
EntInit()
}
EntIniter allows a type to perform initilization when a new instance is created, before EntLoad is called
type Ref ¶
Ref holds a reference to *T
func Get ¶
T does not need to fulfill entity because it could be an interface where the underlying type fulfills both Entity and ...
func Put ¶
Put the entity into the entity cache. If there is already an a record for this entity, the pointer will be updated.
Click to show internal directories.
Click to hide internal directories.