Skip to content

Commit 237ce76

Browse files
committed
Keep size of received byte of current task
1 parent 9f209b6 commit 237ce76

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.genonbeta.coolsocket</groupId>
88
<artifactId>main</artifactId>
9-
<version>1.0.1.1</version>
9+
<version>1.0.1.2</version>
1010
<name>CoolSocket</name>
1111
<description>Socket implementation</description>
1212
<url>https://github.com/genonbeta/CoolSocket</url>

src/main/java/com/genonbeta/CoolSocket/CoolTransfer.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -310,11 +310,12 @@ protected void onRun()
310310

311311
if (Flag.CONTINUE.equals(getFlag())) {
312312
InputStream inputStream = getSocket().getInputStream();
313-
onOrientatingStreams(this, inputStream, getOutputStream());
314-
315313
int len = 0;
316314
long lastRead = System.currentTimeMillis();
317315

316+
onOrientatingStreams(this, inputStream, getOutputStream());
317+
getTransferProgress().resetCurrentTransferredByte();
318+
318319
while (len != -1) {
319320
synchronized (getBlockingObject()) {
320321
if ((len = inputStream.read(getBuffer())) > 0) {
@@ -456,11 +457,10 @@ protected void onRun()
456457

457458
if (Flag.CONTINUE.equals(getFlag())) {
458459
OutputStream outputStream = getSocket().getOutputStream();
459-
460-
onOrientatingStreams(this, getInputStream(), outputStream);
461-
462460
int len = 0;
463461

462+
onOrientatingStreams(this, getInputStream(), outputStream);
463+
getTransferProgress().resetCurrentTransferredByte();
464464
getTransferProgress().incrementTransferredByte(getSkippedBytes());
465465

466466
while (len != -1) {
@@ -532,6 +532,7 @@ public void skipBytes(long bytes) throws IOException
532532
public static class TransferProgress<T>
533533
{
534534
private long mStartTime = System.currentTimeMillis();
535+
private long mCurrentTransferredByte;
535536
private long mTransferredByte;
536537
private long mTotalByte;
537538
private long mTimeElapsed;
@@ -548,6 +549,7 @@ public int calculatePercentage(long max, long current)
548549

549550
public long decrementTransferredByte(long size)
550551
{
552+
mCurrentTransferredByte -= size;
551553
mTransferredByte -= size;
552554
return mTransferredByte;
553555
}
@@ -621,6 +623,7 @@ public long getTransferredByte()
621623

622624
public long incrementTransferredByte(long size)
623625
{
626+
mCurrentTransferredByte += size;
624627
mTransferredByte += size;
625628
return mTransferredByte;
626629
}
@@ -641,6 +644,10 @@ public boolean isInterrupted()
641644
return mInterrupted;
642645
}
643646

647+
public void resetCurrentTransferredByte() {
648+
mCurrentTransferredByte = 0;
649+
}
650+
644651
public void setTotalByte(long totalByte)
645652
{
646653
mTotalByte = totalByte;

0 commit comments

Comments
 (0)