MCPcopy
hub / github.com/kopia/kopia / LoadIndexObject

Function LoadIndexObject

repo/object/object_reader.go:268–282  ·  view source on GitHub ↗

LoadIndexObject returns entries comprising index object.

(ctx context.Context, cr contentReader, indexObjectID ID)

Source from the content-addressed store, hash-verified

266
267// LoadIndexObject returns entries comprising index object.
268func LoadIndexObject(ctx context.Context, cr contentReader, indexObjectID ID) ([]IndirectObjectEntry, error) {
269 r, err := openAndAssertLength(ctx, cr, indexObjectID, -1)
270 if err != nil {
271 return nil, err
272 }
273 defer r.Close() //nolint:errcheck
274
275 var ind indirectObject
276
277 if err := json.NewDecoder(r).Decode(&ind); err != nil {
278 return nil, errors.Wrap(err, "invalid indirect object")
279 }
280
281 return ind.Entries, nil
282}
283
284func newRawReader(ctx context.Context, cr contentReader, objectID ID, assertLength int64) (Reader, error) {
285 contentID, compressed, ok := objectID.ContentID()

Calls 2

openAndAssertLengthFunction · 0.85
CloseMethod · 0.65

Tested by 2