HDDS-416. Remove currentPosition from ChunkInputStreamEntry. Contributed by Lokesh Jain.

This commit is contained in:
Xiaoyu Yao 2018-09-11 15:12:59 -07:00
parent 598380ad5a
commit 1d567c25d0

View File

@ -71,7 +71,7 @@ public synchronized int getCurrentStreamIndex() {
}
@VisibleForTesting
public long getRemainingOfIndex(int index) {
public long getRemainingOfIndex(int index) throws IOException {
return streamEntries.get(index).getRemaining();
}
@ -206,31 +206,27 @@ public static class ChunkInputStreamEntry extends InputStream
private final ChunkInputStream chunkInputStream;
private final long length;
private long currentPosition;
public ChunkInputStreamEntry(ChunkInputStream chunkInputStream,
long length) {
this.chunkInputStream = chunkInputStream;
this.length = length;
this.currentPosition = 0;
}
synchronized long getRemaining() {
return length - currentPosition;
synchronized long getRemaining() throws IOException {
return length - getPos();
}
@Override
public synchronized int read(byte[] b, int off, int len)
throws IOException {
int readLen = chunkInputStream.read(b, off, len);
currentPosition += readLen;
return readLen;
}
@Override
public synchronized int read() throws IOException {
int data = chunkInputStream.read();
currentPosition += 1;
return data;
}