Module hdk::hash_path::path

source ·
Expand description

The generic path::Path pattern.

As explained in the parent module documentation the path::Path defines a tree structure.

The path is not an entire tree but simply one path from the root to the current depth of the tree.

A -> B -> C -> D

All possible paths for the above tree:

  • []
  • [ A ]
  • [ A B ]
  • [ A B C ]
  • [ A D ]

Note:

Applications can discover all links from a path to all children by constructing the known path components.

For example if an application knows [ A ] then links to B and D will be discoverable.

If an application knows [ A B ] then a link to C will be discoverable.

Structs§

  • Each path component is arbitrary bytes to be hashed together in a predictable way when the path is hashed to create something that can be linked and discovered by all DHT participants.
  • A Path is a vector of Components.
  • A LinkType applied to a Path.

Constants§

  • Allows for “foo.bar.baz” to automatically move to/from [“foo”, “bar”, “baz”] components. Technically it’s moving each string component in as bytes. If this is a problem for you simply build the components yourself as a Vec<Vec<u8>>.
  • Root for all paths.

Functions§