Documentation ¶
Overview ¶
Package trickle allows to build trickle DAGs. In this type of DAG, non-leave nodes are first filled with data leaves, and then incorporate "layers" of subtrees as additional links.
Each layer is a trickle sub-tree and is limited by an increasing maximum depth. Thus, the nodes first layer can only hold leaves (depth 1) but subsequent layers can grow deeper. By default, this module places 4 nodes per layer (that is, 4 subtrees of the same maximum depth before increasing it).
Trickle DAGs are very good for sequentially reading data, as the first data leaves are directly reachable from the root and those coming next are always nearby. They are suited for things like streaming applications.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Append ¶
func Append(ctx context.Context, basen ipld.Node, db *h.DagBuilderHelper) (out ipld.Node, errOut error)
Append appends the data in `db` to the dag, using the Trickledag format
func Layout ¶
func Layout(db *h.DagBuilderHelper) (ipld.Node, error)
Layout builds a new DAG with the trickle format using the provided DagBuilderHelper. See the module's description for a more detailed explanation.
func VerifyTrickleDagStructure ¶
func VerifyTrickleDagStructure(nd ipld.Node, p VerifyParams) error
VerifyTrickleDagStructure checks that the given dag matches exactly the trickle dag datastructure layout
Types ¶
type VerifyParams ¶
type VerifyParams struct { Getter ipld.NodeGetter Direct int LayerRepeat int Prefix *cid.Prefix RawLeaves bool }
VerifyParams is used by VerifyTrickleDagStructure