Upgrade SegmentedClient to be fully asynchronous (no forced blocking for first packet)
diff --git a/src/test/java/com/intel/jndn/utils/SegmentedClientTest.java b/src/test/java/com/intel/jndn/utils/SegmentedClientTest.java
index df6d056..823223d 100644
--- a/src/test/java/com/intel/jndn/utils/SegmentedClientTest.java
+++ b/src/test/java/com/intel/jndn/utils/SegmentedClientTest.java
@@ -87,14 +87,8 @@
public void testFailureToRetrieve() throws Exception {
// retrieve non-existent data, should timeout
logger.info("Client expressing interest asynchronously: /test/no-data");
- List<Future<Data>> futureSegments = SegmentedClient.getDefault().getAsyncList(face, new Name("/test/no-data"));
-
- // the list of future packets should be initialized
- assertEquals(1, futureSegments.size());
- assertTrue(futureSegments.get(0).isDone());
-
- // should throw error
- futureSegments.get(0).get();
+ Future<Data> futureData = SegmentedClient.getDefault().getAsync(face, new Name("/test/no-data"));
+ futureData.get();
}
/**
diff --git a/src/test/java/com/intel/jndn/utils/client/SegmentedFutureDataTest.java b/src/test/java/com/intel/jndn/utils/client/SegmentedFutureDataTest.java
index b97104d..e030083 100644
--- a/src/test/java/com/intel/jndn/utils/client/SegmentedFutureDataTest.java
+++ b/src/test/java/com/intel/jndn/utils/client/SegmentedFutureDataTest.java
@@ -36,15 +36,14 @@
public SegmentedFutureDataTest() {
Face face = new MockFace();
- List<Future<Data>> segments = new ArrayList<>();
+ instance = new SegmentedFutureData(face, new Name("/test/packet"));
for (int i = 0; i < 10; i++) {
Data data = new Data(new Name("/test/packet").appendSegment(i));
data.setContent(new Blob("."));
FutureData future = new FutureData(face, data.getName());
future.resolve(data);
- segments.add(future);
+ instance.add(future);
}
- instance = new SegmentedFutureData(new Name("/test/packet"), segments);
}
@Test
@@ -75,9 +74,8 @@
Data data = new Data(new Name("/test/packet").appendSegment(0));
FutureData future = new FutureData(face, data.getName());
- List<Future<Data>> segments = new ArrayList<>();
- segments.add(future);
- SegmentedFutureData segmentedFuture = new SegmentedFutureData(new Name("/test/packet"), segments);
+ SegmentedFutureData segmentedFuture = new SegmentedFutureData(face, new Name("/test/packet"));
+ segmentedFuture.add(future);
segmentedFuture.get(10, TimeUnit.MILLISECONDS);
}