in src/main/java/com/google/devtools/build/remote/client/RemoteClient.java [111:129]
private int listDirectory(Path path, Directory dir, Map<Digest, Directory> childrenMap, int limit)
throws IOException {
// Try to list the files in this directory before listing the directories.
int numFilesListed = listFileNodes(path, dir, limit);
if (numFilesListed >= limit) {
return numFilesListed;
}
for (DirectoryNode child : dir.getDirectoriesList()) {
Path childPath = path.resolve(child.getName());
printDirectoryNodeDetails(child, childPath);
Digest childDigest = child.getDigest();
Directory childDir = childrenMap.get(childDigest);
numFilesListed += listDirectory(childPath, childDir, childrenMap, limit - numFilesListed);
if (numFilesListed >= limit) {
return numFilesListed;
}
}
return numFilesListed;
}