From 892c804699512dffc850cef0727e614ee3a0a6d6 Mon Sep 17 00:00:00 2001 From: Ivan Frade Date: Wed, 9 Oct 2019 14:10:14 -0700 Subject: [PATCH] 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 --- .../jgit/transport/UploadPackTest.java | 2 +- .../storage/pack/CachedPackUriProvider.java | 21 ++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java index 5d9f32d40..2f370d8c5 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/UploadPackTest.java @@ -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); } }); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/CachedPackUriProvider.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/CachedPackUriProvider.java index 5cbc2baeb..b50f7392d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/CachedPackUriProvider.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/CachedPackUriProvider.java @@ -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; + } } }