Version: v20.10.11+incompatible Latest Latest

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

Go to latest
Published: Nov 18, 2021 License: Apache-2.0 Imports: 5 Imported by: 141



Package truncindex provides a general 'index tree', used by Docker in order to be able to reference containers by only a few unambiguous characters of their id.



This section is empty.


View Source
var (
	// ErrEmptyPrefix is an error returned if the prefix was empty.
	ErrEmptyPrefix = errors.New("Prefix can't be empty")

	// ErrIllegalChar is returned when a space is in the ID
	ErrIllegalChar = errors.New("illegal character: ' '")

	// ErrNotExist is returned when ID or its prefix not found in index.
	ErrNotExist = errors.New("ID does not exist")


This section is empty.


type ErrAmbiguousPrefix added in v1.6.0

type ErrAmbiguousPrefix struct {
	// contains filtered or unexported fields

ErrAmbiguousPrefix is returned if the prefix was ambiguous (multiple ids for the prefix).

func (ErrAmbiguousPrefix) Error added in v1.11.0

func (e ErrAmbiguousPrefix) Error() string

type TruncIndex

type TruncIndex struct {
	// contains filtered or unexported fields

TruncIndex allows the retrieval of string identifiers by any of their unique prefixes. This is used to retrieve image and container IDs by more convenient shorthand prefixes.

func NewTruncIndex

func NewTruncIndex(ids []string) (idx *TruncIndex)

NewTruncIndex creates a new TruncIndex and initializes with a list of IDs.

func (*TruncIndex) Add

func (idx *TruncIndex) Add(id string) error

Add adds a new ID to the TruncIndex.

func (*TruncIndex) Delete

func (idx *TruncIndex) Delete(id string) error

Delete removes an ID from the TruncIndex. If there are multiple IDs with the given prefix, an error is thrown.

func (*TruncIndex) Get

func (idx *TruncIndex) Get(s string) (string, error)

Get retrieves an ID from the TruncIndex. If there are multiple IDs with the given prefix, an error is thrown.

func (*TruncIndex) Iterate added in v1.8.0

func (idx *TruncIndex) Iterate(handler func(id string))

Iterate iterates over all stored IDs and passes each of them to the given handler. Take care that the handler method does not call any public method on truncindex as the internal locking is not reentrant/recursive and will result in deadlock.

Source Files

Jump to

Keyboard shortcuts

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