blob: 1c3797c509b4890b70bb75372fea36412ed14b83 [file] [log] [blame]
/*
* Copyright (C) 2022, Google LLC and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0 which is available at
* https://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package org.eclipse.jgit.internal.storage.file;
/**
* Index of object sizes in a pack
*
* It is not guaranteed that the implementation contains the sizes of all
* objects (e.g. it could store only objects over certain threshold).
*/
public interface PackObjectSizeIndex {
/**
* Returns the inflated size of the object.
*
* @param idxOffset
* position in the pack (as returned from PackIndex)
* @return size of the object, -1 if not found in the index.
*/
long getSize(int idxOffset);
/**
* Number of objects in the index
*
* @return number of objects in the index
*/
long getObjectCount();
/**
* Minimal size of an object to be included in this index
*
* Cut-off value used at generation time to decide what objects to index.
*
* @return size in bytes
*/
int getThreshold();
}