Documentation
¶
Index ¶
- Constants
- Variables
- func InnerNodesCount(height int) int
- func LeavesCount(height int) int
- func LevelDiff(l int, discriminant *Bitset, digests1, digests2 []Digest) (levelDiffCount int)
- func NodesCount(height int) int
- type AggregatedHashTree
- type AggregatedHashTreeRangeReader
- type Bitset
- func (bset *Bitset) AllSet() bool
- func (bset *Bitset) Clone() *Bitset
- func (bset *Bitset) IsSet(i int) bool
- func (bset *Bitset) Marshal() ([]byte, error)
- func (bset *Bitset) Reset() *Bitset
- func (bset *Bitset) Set(i int) *Bitset
- func (bset *Bitset) SetAll() *Bitset
- func (bset *Bitset) SetCount() int
- func (bset *Bitset) Size() int
- func (bset *Bitset) Unmarshal(b []byte) error
- func (bset *Bitset) Unset(i int) *Bitset
- type CompactHashTree
- func (ht *CompactHashTree) AggregateLeafWith(i uint64, val []byte) error
- func (ht *CompactHashTree) Capacity() uint64
- func (ht *CompactHashTree) Clone() AggregatedHashTree
- func (ht *CompactHashTree) Diff(ht2 AggregatedHashTree) (discriminant *Bitset, err error)
- func (ht *CompactHashTree) DiffUsing(ht2 AggregatedHashTree, discriminant *Bitset, digests1, digests2 []Digest) error
- func (ht *CompactHashTree) Height() int
- func (ht *CompactHashTree) Level(level int, discriminant *Bitset, digests []Digest) (n int, err error)
- func (ht *CompactHashTree) NewRangeReader(discriminant *Bitset) AggregatedHashTreeRangeReader
- func (ht *CompactHashTree) Reset()
- func (ht *CompactHashTree) Root() Digest
- func (ht *CompactHashTree) Serialize(w io.Writer) (n int64, err error)
- func (ht *CompactHashTree) Sync()
- type CompactHashTreeDiffReader
- type Digest
- type HashTree
- func (ht *HashTree) AggregateLeafWith(i uint64, val []byte) error
- func (ht *HashTree) Clone() AggregatedHashTree
- func (ht *HashTree) Diff(ht2 AggregatedHashTree) (discriminant *Bitset, err error)
- func (ht *HashTree) DiffUsing(ht2 AggregatedHashTree, discriminant *Bitset, digests1, digests2 []Digest) error
- func (ht *HashTree) Height() int
- func (ht *HashTree) Level(level int, discriminant *Bitset, digests []Digest) (n int, err error)
- func (ht *HashTree) NewRangeReader(discriminant *Bitset) AggregatedHashTreeRangeReader
- func (ht *HashTree) Reset()
- func (ht *HashTree) Root() Digest
- func (ht *HashTree) Serialize(w io.Writer) (n int64, err error)
- func (ht *HashTree) Sync()
- type HashTreeDiffReader
Constants ¶
View Source
const DigestLength int = 16
Variables ¶
View Source
var ( ErrIllegalArguments = errors.New("illegal arguments") ErrIllegalState = errors.New("illegal state") )
View Source
var ErrNoMoreRanges = errors.New("no more ranges")
Functions ¶
func InnerNodesCount ¶ added in v1.28.5
func LeavesCount ¶
func NodesCount ¶
Types ¶
type AggregatedHashTree ¶
type AggregatedHashTree interface { Height() int AggregateLeafWith(i uint64, val []byte) error Sync() Root() Digest Level(level int, discriminant *Bitset, digests []Digest) (n int, err error) Reset() Clone() AggregatedHashTree Diff(ht AggregatedHashTree) (discriminant *Bitset, err error) DiffUsing(ht AggregatedHashTree, discriminant *Bitset, digests1, digests2 []Digest) error NewRangeReader(discriminant *Bitset) AggregatedHashTreeRangeReader Serialize(w io.Writer) (n int64, err error) }
type CompactHashTree ¶
type CompactHashTree struct {
// contains filtered or unexported fields
}
func DeserializeCompactHashTree ¶
func DeserializeCompactHashTree(r io.Reader) (*CompactHashTree, error)
func NewCompactHashTree ¶
func NewCompactHashTree(capacity uint64, maxHeight int) (*CompactHashTree, error)
func (*CompactHashTree) AggregateLeafWith ¶
func (ht *CompactHashTree) AggregateLeafWith(i uint64, val []byte) error
AggregateLeafWith aggregates a new value into a shared leaf Each compacted leaf is shared by a number of consecutive leaves
func (*CompactHashTree) Capacity ¶
func (ht *CompactHashTree) Capacity() uint64
func (*CompactHashTree) Clone ¶
func (ht *CompactHashTree) Clone() AggregatedHashTree
func (*CompactHashTree) Diff ¶
func (ht *CompactHashTree) Diff(ht2 AggregatedHashTree) (discriminant *Bitset, err error)
func (*CompactHashTree) DiffUsing ¶
func (ht *CompactHashTree) DiffUsing(ht2 AggregatedHashTree, discriminant *Bitset, digests1, digests2 []Digest) error
func (*CompactHashTree) Height ¶
func (ht *CompactHashTree) Height() int
func (*CompactHashTree) NewRangeReader ¶
func (ht *CompactHashTree) NewRangeReader(discriminant *Bitset) AggregatedHashTreeRangeReader
func (*CompactHashTree) Reset ¶
func (ht *CompactHashTree) Reset()
func (*CompactHashTree) Root ¶
func (ht *CompactHashTree) Root() Digest
func (*CompactHashTree) Serialize ¶
func (ht *CompactHashTree) Serialize(w io.Writer) (n int64, err error)
func (*CompactHashTree) Sync ¶
func (ht *CompactHashTree) Sync()
type CompactHashTreeDiffReader ¶
type CompactHashTreeDiffReader struct {
// contains filtered or unexported fields
}
type Digest ¶
type Digest [2]uint64
func (*Digest) MarshalBinary ¶
func (*Digest) MarshalJSON ¶
func (*Digest) UnmarshalBinary ¶
func (*Digest) UnmarshalJSON ¶
type HashTree ¶
type HashTree struct {
// contains filtered or unexported fields
}
HashTree is a fixed-size hash tree with leaf aggregation and partial root recalculation.
func NewHashTree ¶
func (*HashTree) AggregateLeafWith ¶
func (*HashTree) Clone ¶
func (ht *HashTree) Clone() AggregatedHashTree
func (*HashTree) Diff ¶
func (ht *HashTree) Diff(ht2 AggregatedHashTree) (discriminant *Bitset, err error)
func (*HashTree) DiffUsing ¶
func (ht *HashTree) DiffUsing(ht2 AggregatedHashTree, discriminant *Bitset, digests1, digests2 []Digest) error
func (*HashTree) NewRangeReader ¶
func (ht *HashTree) NewRangeReader(discriminant *Bitset) AggregatedHashTreeRangeReader
type HashTreeDiffReader ¶
type HashTreeDiffReader struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.