CachedPackUriProvider: Add size to the pack information

The object identifying packfiles to send them via packfile-uri contains
only the uri and the hash. This is the information that goes through the
wire. It would be useful to know also the size of those packfile, for
example to track how many bytes have been offloaded to HTTP.

Add size field the CachedPackUriProvider.PackInfo object.

Change-Id: If6b921b48a4764d936141c777879b148cc80bbd3
Signed-off-by: Ivan Frade <ifrade@google.com>
This commit is contained in:
Ivan Frade 2019-10-09 14:10:14 -07:00
parent 6bd9bc23b7
commit 892c804699
2 changed files with 19 additions and 4 deletions

View File

@ -2077,7 +2077,7 @@ public PackInfo getInfo(CachedPack pack,
assertThat(protocolsSupported, hasItems("https"));
if (!protocolsSupported.contains("https"))
return null;
return new PackInfo("myhash", "myuri");
return new PackInfo("myhash", "myuri", 100);
}
});

View File

@ -76,14 +76,22 @@ public static class PackInfo {
private final String hash;
private final String uri;
private final int size;
/**
* Constructs an object containing information about a packfile.
* @param hash the hash of the packfile as a hexadecimal string
* @param uri the URI corresponding to the packfile
*
* @param hash
* the hash of the packfile as a hexadecimal string
* @param uri
* the URI corresponding to the packfile
* @param size
* the size of the packfile in bytes
*/
public PackInfo(String hash, String uri) {
public PackInfo(String hash, String uri, int size) {
this.hash = hash;
this.uri = uri;
this.size = size;
}
/**
@ -99,5 +107,12 @@ public String getHash() {
public String getUri() {
return uri;
}
/**
* @return the size of the packfile in bytes (-1 if unknown)
*/
public long getSize() {
return size;
}
}
}