1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:17:44 +00:00

ProtocolServer: Implement and handle download progress

Also updates `pro` to display download progress and speed on stderr
This commit is contained in:
AnotherTest 2020-05-03 09:01:06 +04:30 committed by Andreas Kling
parent c6825a96c7
commit 06cf9d3fb7
14 changed files with 97 additions and 22 deletions

View file

@ -55,7 +55,7 @@ void Download::did_finish(Badge<Client>, bool success, u32 total_size, i32 shbuf
on_finish(success, payload, move(shared_buffer));
}
void Download::did_progress(Badge<Client>, u32 total_size, u32 downloaded_size)
void Download::did_progress(Badge<Client>, Optional<u32> total_size, u32 downloaded_size)
{
if (on_progress)
on_progress(total_size, downloaded_size);

View file

@ -47,10 +47,10 @@ public:
bool stop();
Function<void(bool success, const ByteBuffer& payload, RefPtr<SharedBuffer> payload_storage)> on_finish;
Function<void(u32 total_size, u32 downloaded_size)> on_progress;
Function<void(Optional<u32> total_size, u32 downloaded_size)> on_progress;
void did_finish(Badge<Client>, bool success, u32 total_size, i32 shbuf_id);
void did_progress(Badge<Client>, u32 total_size, u32 downloaded_size);
void did_progress(Badge<Client>, Optional<u32> total_size, u32 downloaded_size);
private:
explicit Download(Client&, i32 download_id);