in src/main/java/com/google/devtools/build/remote/client/GrpcRemoteCache.java [141:159]
private void readBlob(Digest digest, OutputStream stream) throws IOException {
String resourceName = "";
if (!options.remoteInstanceName.isEmpty()) {
resourceName += options.remoteInstanceName + "/";
}
resourceName += "blobs/" + digest.getHash() + "/" + digest.getSizeBytes();
try {
Iterator<ReadResponse> replies =
bsBlockingStub().read(ReadRequest.newBuilder().setResourceName(resourceName).build());
while (replies.hasNext()) {
replies.next().getData().writeTo(stream);
}
} catch (StatusRuntimeException e) {
if (e.getStatus().getCode() == Status.Code.NOT_FOUND) {
throw new CacheNotFoundException(digest);
}
throw e;
}
}