Browse Source

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>
next
Ivan Frade 5 years ago
parent
commit
892c804699
  1. 2
      org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java
  2. 21
      org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/CachedPackUriProvider.java

2
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java

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

21
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/CachedPackUriProvider.java

@ -76,14 +76,22 @@ public interface CachedPackUriProvider {
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 interface CachedPackUriProvider {
public String getUri() {
return uri;
}
/**
* @return the size of the packfile in bytes (-1 if unknown)
*/
public long getSize() {
return size;
}
}
}

Loading…
Cancel
Save