MCPcopy Create free account
hub / github.com/containers/image / platformCompressionMap

Function platformCompressionMap

copy/multiple.go:73–89  ·  view source on GitHub ↗

platformCompressionMap prepares a mapping of platformComparable -> CompressionAlgorithmNames for given digests

(list internalManifest.List, instanceDigests []digest.Digest)

Source from the content-addressed store, hash-verified

71
72// platformCompressionMap prepares a mapping of platformComparable -> CompressionAlgorithmNames for given digests
73func platformCompressionMap(list internalManifest.List, instanceDigests []digest.Digest) (map[platformComparable]*set.Set[string], error) {
74 res := make(map[platformComparable]*set.Set[string])
75 for _, instanceDigest := range instanceDigests {
76 instanceDetails, err := list.Instance(instanceDigest)
77 if err != nil {
78 return nil, fmt.Errorf("getting details for instance %s: %w", instanceDigest, err)
79 }
80 platform := platformV1ToPlatformComparable(instanceDetails.ReadOnly.Platform)
81 platformSet, ok := res[platform]
82 if !ok {
83 platformSet = set.New[string]()
84 res[platform] = platformSet
85 }
86 platformSet.AddSeq(slices.Values(instanceDetails.ReadOnly.CompressionAlgorithmNames))
87 }
88 return res, nil
89}
90
91func validateCompressionVariantExists(input []OptionCompressionVariant) error {
92 for _, option := range input {

Callers 1

prepareInstanceCopiesFunction · 0.85

Calls 3

AddSeqMethod · 0.80
InstanceMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…