runzhiwang commented on a change in pull request #224:
URL: https://github.com/apache/incubator-ratis/pull/224#discussion_r505110006
##########
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:
@szetszwo I see, can we remove
[request.setFirstRequest()](https://github.com/apache/incubator-ratis/blob/76a52efc4c6973d254d189ff81e5665ffea09120/ratis-client/src/main/java/org/apache/ratis/client/impl/OrderedStreamAsync.java#L109)
in this file ?
----------------------------------------------------------------
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]