testing.compute_pin_id()

Content-address a pin: <dataset8>.<hash16>.

Usage

Source

testing.compute_pin_id(
    kind,
    identity,
    state,
    dataset_id,
)

The hash covers (kind, locator identity, state) and is stable across processes and machines, so re-committing an unchanged object is a no-op and identical states dedupe to one pin within a dataset. The dataset id in front is the namespace: several datasets can pin the same store and each one’s gc only ever sees its own pins. Callers pass the content state (see tether.backends.base.content_state()).