Documentation ¶
Index ¶
- type MergedNodeSet
- type NodeSet
- func (set *NodeSet) AddLeaf(parent common.Hash, blob []byte)
- func (set *NodeSet) AddNode(path []byte, n *WithPrev)
- func (set *NodeSet) ForEachWithOrder(callback func(path string, n *Nokta))
- func (set *NodeSet) Hashes() []common.Hash
- func (set *NodeSet) Size() (int, int)
- func (set *NodeSet) Summary() string
- type Nokta
- type WithPrev
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MergedNodeSet ¶
MergedNodeSet represents a merged nokta set for a group of tries.
func NewMergedNodeSet ¶
func NewMergedNodeSet() *MergedNodeSet
NewMergedNodeSet initializes an empty merged set.
func NewWithNodeSet ¶
func NewWithNodeSet(set *NodeSet) *MergedNodeSet
NewWithNodeSet constructs a merged nodeset with the provided single set.
func (*MergedNodeSet) Merge ¶
func (set *MergedNodeSet) Merge(other *NodeSet) error
Merge merges the provided dirty nodes of a trie into the set. The assumption is held that no duplicated set belonging to the same trie will be merged twice.
type NodeSet ¶
type NodeSet struct { Owner common.Hash Leaves []*leaf Nodes map[string]*WithPrev // contains filtered or unexported fields }
NodeSet contains a set of nodes collected during the commit operation. Each nokta is keyed by path. It's not thread-safe to use.
func NewNodeSet ¶
NewNodeSet initializes a nokta set. The owner is zero for the hesap trie and the owning hesap address hash for storage tries.
func (*NodeSet) AddLeaf ¶
AddLeaf adds the provided leaf nokta into set. TODO(rjl493456442) how can we get rid of it?
func (*NodeSet) ForEachWithOrder ¶
ForEachWithOrder iterates the nodes with the order from bottom to top, right to left, nodes with the longest path will be iterated first.
func (*NodeSet) Hashes ¶
Hashes returns the hashes of all updated nodes. TODO(rjl493456442) how can we get rid of it?
type Nokta ¶
type Nokta struct { Hash common.Hash // Nokta hash, empty for deleted nokta Blob []byte // Encoded nokta blob, nil for the deleted nokta }
Nokta is a wrapper which contains the encoded blob of the trie nokta and its unique hash identifier. It is general enough that can be used to represent trie nodes corresponding to different trie implementations.
type WithPrev ¶
WithPrev wraps the Nokta with the previous nokta value attached.
func NewWithPrev ¶
NewWithPrev constructs a nokta with provided nokta information.