From 9e404c539f8ff384f9617f8dec53e9e18bce99df Mon Sep 17 00:00:00 2001 From: Leorize Date: Wed, 15 Jul 2020 23:12:53 -0500 Subject: [PATCH] FileRequest: More consistent progress reporting Make BFileRequest reports download progress after every DataReceived() calls. DownloadProgress() format has also been changed to use 0 as `bytesTotal` when the total size is unknown. This is similar to BHttpRequest functions currently. Change-Id: I2920ea00c4f841bb666425be6f8da418e913c727 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3072 Reviewed-by: waddlesplash --- src/kits/network/libnetapi/FileRequest.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/kits/network/libnetapi/FileRequest.cpp b/src/kits/network/libnetapi/FileRequest.cpp index 82c5f35e00..02b0103480 100644 --- a/src/kits/network/libnetapi/FileRequest.cpp +++ b/src/kits/network/libnetapi/FileRequest.cpp @@ -87,6 +87,7 @@ BFileRequest::_ProtocolLoop() fListener->DataReceived(this, chunk, transferredSize, chunkSize); transferredSize += chunkSize; + fListener->DownloadProgress(this, transferredSize, size); } else break; } @@ -99,7 +100,6 @@ BFileRequest::_ProtocolLoop() else return B_IO_ERROR; } - fListener->DownloadProgress(this, size, size); } return B_OK; @@ -124,6 +124,7 @@ BFileRequest::_ProtocolLoop() // Add a parent directory entry. fListener->DataReceived(this, "+/,\t..\r\n", transferredSize, 8); + fListener->DownloadProgress(this, transferredSize, 0); transferredSize += 8; } @@ -161,12 +162,11 @@ BFileRequest::_ProtocolLoop() if (fListener != NULL) { fListener->DataReceived(this, eplf.String(), transferredSize, eplf.Length()); + fListener->DownloadProgress(this, transferredSize, 0); } transferredSize += eplf.Length(); } - if (fListener != NULL) - fListener->DownloadProgress(this, transferredSize, transferredSize); if (!fQuit) fResult.SetLength(transferredSize);