codec

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2023 License: BSD-3-Clause Imports: 7 Imported by: 120

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrTooManyItems      = errors.New("too many items")
	ErrDuplicateItem     = errors.New("duplicate item")
	ErrFieldNotPopulated = errors.New("field is not populated")
)

Functions

This section is empty.

Types

type OptionalPacker

type OptionalPacker struct {
	// contains filtered or unexported fields
}

func NewOptionalWriter

func NewOptionalWriter() *OptionalPacker

func (*OptionalPacker) PackID

func (o *OptionalPacker) PackID(id ids.ID)

func (*OptionalPacker) PackPublicKey

func (o *OptionalPacker) PackPublicKey(pk crypto.PublicKey)

func (*OptionalPacker) PackUint64

func (o *OptionalPacker) PackUint64(l uint64)

func (*OptionalPacker) UnpackID

func (o *OptionalPacker) UnpackID(dest *ids.ID)

func (*OptionalPacker) UnpackPublicKey

func (o *OptionalPacker) UnpackPublicKey(dest *crypto.PublicKey)

func (*OptionalPacker) UnpackUint64

func (o *OptionalPacker) UnpackUint64() uint64

type Packer

type Packer struct {
	// contains filtered or unexported fields
}

func NewReader

func NewReader(src []byte, limit int) *Packer

func NewWriter

func NewWriter(limit int) *Packer

func (*Packer) Bytes

func (p *Packer) Bytes() []byte

func (*Packer) Empty

func (p *Packer) Empty() bool

Empty is called after parsing a byte array to ensure there is nothing left to parse.

func (*Packer) Err

func (p *Packer) Err() error

func (*Packer) NewOptionalReader

func (p *Packer) NewOptionalReader() *OptionalPacker

used when decoding

func (*Packer) Offset

func (p *Packer) Offset() int

func (*Packer) PackBool

func (p *Packer) PackBool(src bool)

func (*Packer) PackByte

func (p *Packer) PackByte(b byte)

func (*Packer) PackBytes

func (p *Packer) PackBytes(b []byte)

func (*Packer) PackFixedBytes

func (p *Packer) PackFixedBytes(b []byte)

func (*Packer) PackID

func (p *Packer) PackID(src ids.ID)

func (*Packer) PackInt

func (p *Packer) PackInt(v int)

func (*Packer) PackInt64

func (p *Packer) PackInt64(v int64)

func (*Packer) PackOptional

func (p *Packer) PackOptional(o *OptionalPacker)

func (*Packer) PackPublicKey

func (p *Packer) PackPublicKey(src crypto.PublicKey)

func (*Packer) PackSignature

func (p *Packer) PackSignature(src crypto.Signature)

func (*Packer) PackString

func (p *Packer) PackString(s string)

func (*Packer) PackUint64

func (p *Packer) PackUint64(v uint64)

func (*Packer) PackWindow

func (p *Packer) PackWindow(w window.Window)

func (*Packer) UnpackBool

func (p *Packer) UnpackBool() bool

func (*Packer) UnpackByte

func (p *Packer) UnpackByte() byte

func (*Packer) UnpackBytes

func (p *Packer) UnpackBytes(limit int, required bool, dest *[]byte)

func (*Packer) UnpackID

func (p *Packer) UnpackID(required bool, dest *ids.ID)

func (*Packer) UnpackInt

func (p *Packer) UnpackInt(required bool) int

func (*Packer) UnpackInt64

func (p *Packer) UnpackInt64(required bool) int64

func (*Packer) UnpackPublicKey

func (p *Packer) UnpackPublicKey(dest *crypto.PublicKey)

func (*Packer) UnpackSignature

func (p *Packer) UnpackSignature(dest *crypto.Signature)

func (*Packer) UnpackString

func (p *Packer) UnpackString(required bool) string

func (*Packer) UnpackUint64

func (p *Packer) UnpackUint64(required bool) uint64

func (*Packer) UnpackWindow

func (p *Packer) UnpackWindow(w *window.Window)

type TypeParser

type TypeParser[T any] struct {
	// contains filtered or unexported fields
}

func NewTypeParser

func NewTypeParser[T any]() *TypeParser[T]

func (*TypeParser[T]) LookupIndex

func (p *TypeParser[T]) LookupIndex(index uint8) (func(*Packer) (T, error), bool)

func (*TypeParser[T]) LookupType

func (p *TypeParser[T]) LookupType(o T) (uint8, func(*Packer) (T, error), bool)

func (*TypeParser[T]) Register

func (p *TypeParser[T]) Register(o T, f func(*Packer) (T, error)) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL