aboutsummaryrefslogtreecommitdiff
path: root/other/java
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2019-12-13 10:04:53 -0800
committerChris Lu <chris.lu@gmail.com>2019-12-13 10:04:53 -0800
commit987108a2b16e61595d0c7768ca47937d0652d5c4 (patch)
tree0c7a89a9a90730743fb3ba48a5e9d2088df5dfe1 /other/java
parentbbb6ebc3c024e8f2992ba8ad4eb3426364e70566 (diff)
downloadseaweedfs-987108a2b16e61595d0c7768ca47937d0652d5c4.tar.xz
seaweedfs-987108a2b16e61595d0c7768ca47937d0652d5c4.zip
HCFS: streaming list files
Diffstat (limited to 'other/java')
-rw-r--r--other/java/client/src/main/java/seaweedfs/client/FilerClient.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/other/java/client/src/main/java/seaweedfs/client/FilerClient.java b/other/java/client/src/main/java/seaweedfs/client/FilerClient.java
index a1e3cdb89..84aa26ad9 100644
--- a/other/java/client/src/main/java/seaweedfs/client/FilerClient.java
+++ b/other/java/client/src/main/java/seaweedfs/client/FilerClient.java
@@ -7,6 +7,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Iterator;
import java.util.List;
public class FilerClient {
@@ -173,17 +174,18 @@ public class FilerClient {
}
public List<FilerProto.Entry> listEntries(String path, String entryPrefix, String lastEntryName, int limit) {
- List<FilerProto.Entry> entries = filerGrpcClient.getBlockingStub().listEntries(FilerProto.ListEntriesRequest.newBuilder()
+ Iterator<FilerProto.ListEntriesResponse> iter = filerGrpcClient.getBlockingStub().listEntries(FilerProto.ListEntriesRequest.newBuilder()
.setDirectory(path)
.setPrefix(entryPrefix)
.setStartFromFileName(lastEntryName)
.setLimit(limit)
- .build()).getEntriesList();
- List<FilerProto.Entry> fixedEntries = new ArrayList<>(entries.size());
- for (FilerProto.Entry entry : entries) {
- fixedEntries.add(fixEntryAfterReading(entry));
+ .build());
+ List<FilerProto.Entry> entries = new ArrayList<>();
+ while (iter.hasNext()){
+ FilerProto.ListEntriesResponse resp = iter.next();
+ entries.add(fixEntryAfterReading(resp.getEntry()));
}
- return fixedEntries;
+ return entries;
}
public FilerProto.Entry lookupEntry(String directory, String entryName) {