Versions in this module Expand all Collapse all v1 v1.1.225 Oct 12, 2023 v1.1.224 Aug 4, 2023 v1.1.222 Mar 20, 2023 v1.1.220 Nov 27, 2022 Changes in this version + var ErrAtomTooLong = fmt.Errorf("Encoding error. Atom too long. Max allowed UTF-8 chars is 255") + var ErrStringTooLong = fmt.Errorf("Encoding error. String too long. Max allowed length is 65535") + func Encode(term Term, b *lib.Buffer, options EncodeOptions) (retErr error) + func NewInvalidTypesError(t reflect.Type, term Term) error + func ReleaseEncodingAtomCache(l *EncodingAtomCache) + func TermIntoStruct(term Term, dest interface{}) (err error) + func TermProplistIntoStruct(term Term, dest interface{}) (err error) + func TermToString(t Term) (s string, ok bool) + func UnregisterType(name Atom) error + type Alias Ref + func (a Alias) String() string + type Atom string + func RegisterType(t interface{}, options RegisterTypeOptions) (Atom, error) + type AtomCache struct + In *AtomCacheIn + Out *AtomCacheOut + func NewAtomCache() AtomCache + type AtomCacheIn struct + Atoms [maxCacheItems]*Atom + type AtomCacheOut struct + func (a *AtomCacheOut) Append(atom Atom) (int16, bool) + func (a *AtomCacheOut) LastAdded() (Atom, int16) + func (a *AtomCacheOut) ListSince(id int16) []Atom + type AtomMapping struct + In map[Atom]Atom + MutexIn sync.RWMutex + MutexOut sync.RWMutex + Out map[Atom]Atom + func NewAtomMapping() AtomMapping + type CacheItem struct + Encoded bool + ID int16 + Name Atom + type Charlist string + type DecodeOptions struct + AtomMapping AtomMapping + FlagBigPidRef bool + type EncodeOptions struct + AtomCache *AtomCacheOut + AtomMapping AtomMapping + EncodingAtomCache *EncodingAtomCache + FlagBigCreation bool + FlagBigPidRef bool + NodeName string + PeerName string + SenderAtomCache map[Atom]CacheItem + type EncodingAtomCache struct + HasLongAtom bool + L []CacheItem + func TakeEncodingAtomCache() *EncodingAtomCache + func (l *EncodingAtomCache) Append(a CacheItem) uint8 + func (l *EncodingAtomCache) Delete(atom Atom) + func (l *EncodingAtomCache) Len() int + func (l *EncodingAtomCache) Reset() + type Export struct + Arity int + Function Atom + Module Atom + type Function struct + Arity byte + FreeVars []Term + Index uint32 + Module Atom + OldIndex uint32 + OldUnique uint32 + Pid Pid + Unique [16]byte + type InvalidStructKeyError struct + Term Term + func (s *InvalidStructKeyError) Error() string + type List []Term + func (l List) Element(i int) Term + type ListImproper []Term + type Map map[Term]Term + func (m Map) Element(k Term) Term + type Marshaler interface + MarshalETF func() ([]byte, error) + type Pid struct + Creation uint32 + ID uint64 + Node Atom + func (p Pid) String() string + type Port struct + Creation uint32 + ID uint32 + Node Atom + type ProplistElement struct + Name Atom + Value Term + type Ref struct + Creation uint32 + ID [5]uint32 + Node Atom + func (r Ref) String() string + type RegisterTypeOptions struct + Name Atom + Strict bool + type String string + type StructPopulatorError struct + Term Term + Type reflect.Type + func (s *StructPopulatorError) Error() string + type Term interface + func Decode(packet []byte, cache []Atom, options DecodeOptions) (retTerm Term, retByte []byte, retErr error) + type Tuple []Term + func (t Tuple) Element(i int) Term + type Unmarshaler interface + UnmarshalETF func([]byte) error