zedtoken

package
v1.48.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package zedtoken contains helper functions to handle zedtokens.

Index

Constants

This section is empty.

Variables

View Source
var ErrNilZedToken = errors.New("zedtoken pointer was nil")

ErrNilZedToken is returned as the base error when nil is provided as the zedtoken argument to Decode

Functions

func Decode

func Decode(encoded *v1.ZedToken) (*zedtoken.DecodedZedToken, error)

Decode converts an encoded zedtoken to its decoded version.

func Encode

func Encode(decoded *zedtoken.DecodedZedToken) (*v1.ZedToken, error)

Encode converts a decoded zedtoken to its opaque version.

func MustNewFromRevisionForTesting added in v1.46.0

func MustNewFromRevisionForTesting(revision datastore.Revision) *v1.ZedToken

MustNewFromRevisionForTesting generates an encoded zedtoken from an integral revision.

func NewFromRevision

func NewFromRevision(ctx context.Context, revision datastore.Revision, ds RevisionHolder) (*v1.ZedToken, error)

NewFromRevision generates an encoded zedtoken from an integral revision.

func NewFromRevisionNoDatastoreID added in v1.46.1

func NewFromRevisionNoDatastoreID(revision datastore.Revision) (*v1.ZedToken, error)

NewFromRevisionNoDatastoreID generates an encoded zedtoken from an integral revision without a datastore ID. This is only for use in legacy scenarios. Most callers should use NewFromRevision.

Types

type RevisionHolder added in v1.46.1

type RevisionHolder interface {
	// UniqueID returns the unique ID of the holder (typically: a datastore).
	UniqueID(context.Context) (string, error)

	// RevisionFromString converts a string representation of a revision to a Revision.
	RevisionFromString(string) (datastore.Revision, error)
}

RevisionHolder is an interface for types that can provide a unique ID and revision information.

type TokenStatus added in v1.46.0

type TokenStatus int

TokenStatus is the status of a zedtoken.

const (
	// StatusUnknown indicates that the status of the zedtoken is unknown.
	StatusUnknown TokenStatus = iota

	// StatusLegacyEmptyDatastoreID indicates that the zedtoken is a legacy token
	// with an empty datastore ID.
	StatusLegacyEmptyDatastoreID

	// StatusValid indicates that the zedtoken is valid.
	StatusValid

	// StatusMismatchedDatastoreID indicates that the zedtoken is valid, but the
	// datastore ID does not match the current datastore, indicating that the
	// token was generated by a different datastore instance.
	StatusMismatchedDatastoreID
)

func DecodeRevision

func DecodeRevision(encoded *v1.ZedToken, ds RevisionHolder) (datastore.Revision, TokenStatus, error)

DecodeRevision converts and extracts the revision from a zedtoken or legacy zookie.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL