szetszwo commented on a change in pull request #224:
URL: https://github.com/apache/incubator-ratis/pull/224#discussion_r505109499



##########
File path: 
ratis-client/src/main/java/org/apache/ratis/client/impl/OrderedStreamAsync.java
##########
@@ -38,37 +37,18 @@
 public class OrderedStreamAsync {
   public static final Logger LOG = 
LoggerFactory.getLogger(OrderedStreamAsync.class);
 
-  public static class DataStreamWindowRequest implements DataStreamRequest,
-      SlidingWindow.ClientSideRequest<DataStreamReply> {
-    private final long streamId;
-    private final long messageId;
+  static class DataStreamWindowRequest extends DataStreamRequestByteBuffer
+      implements SlidingWindow.ClientSideRequest<DataStreamReply> {
     private final long seqNum;
-    private final ByteBuffer data;
-    private boolean isFirst = false;
-    private CompletableFuture<DataStreamReply> replyFuture = new 
CompletableFuture<>();
+    private final CompletableFuture<DataStreamReply> replyFuture = new 
CompletableFuture<>();
 
-    public DataStreamRequestByteBuffer newDataStreamRequest(){
-      return new DataStreamRequestByteBuffer(streamId, messageId, 
data.slice());
-    }
-
-    @Override
-    public long getStreamId() {
-      return streamId;
-    }
-
-    @Override
-    public long getDataOffset() {
-      return messageId;
-    }
-
-    @Override
-    public long getDataLength() {
-      return data.capacity();
+    DataStreamWindowRequest(long streamId, long offset, ByteBuffer data, long 
seqNum){
+      super(streamId, offset, data);
+      this.seqNum = seqNum;
     }
 
     @Override
     public void setFirstRequest() {
-      isFirst = true;

Review comment:
       It is not used anywhere.  Steaming is different from Async that Async 
may change leader in the middle of a series of calls but Stream won't.  
Therefore, isFirst is not useful in Streaming.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to