Crate willow_data_model

Source
Expand description

§Willow Data Model

This crate provides implementation of the Willow Data Model, including:

This crate does not yet have anything for Willow’s concept of stores. Stay tuned!

§Type parameters

Willow is a parametrised family of protocols, and so this crate makes heavy use of generic parameters.

The following generic parameter names are used consistently across this crate:

Modules§

grouping
Utilities for Willow’s entry groupings.

Structs§

AuthorisedEntry
An AuthorisedEntry is a pair of an Entry and AuthorisationToken for which [Entry::is_authorised_write] returns true. Definition.
Component
A component of a Willow Path.
Entry
The metadata associated with each Payload. Definition.
OwnedComponent
An owned component of a Willow Path that uses reference counting for cheap cloning.
Path
An immutable Willow path. Thread-safe, cheap to clone, cheap to take prefixes of, expensive to append to.
UnauthorisedWriteError
An error indicating an AuthorisationToken does not authorise the writing of this entry.

Enums§

InvalidPathError
An error arising from trying to construct a invalid Path from valid components.

Traits§

AuthorisationToken
Determines whether this type (nominally a AuthorisationToken) is able to prove write permission for a given Entry.
NamespaceId
A type for identifying namespaces. Definition.
PayloadDigest
A totally ordered type for content-addressing the data that Willow stores. Definition.
SubspaceId
A type for identifying subspaces. Definition.

Type Aliases§

Timestamp
A Timestamp is a 64-bit unsigned integer, that is, a natural number between zero (inclusive) and 2^64 (exclusive). Timestamps are to be interpreted as a time in microseconds since the Unix epoch. Definition.