feat: add progress_total to track cumulative progress

pull/2033/head
514sid 9 months ago
parent cfe1d586be
commit f2ab7febc5

@ -6,6 +6,7 @@ import { invoke, Channel } from '@tauri-apps/api/core'
interface ProgressPayload { interface ProgressPayload {
progress: number progress: number
progressTotal: number
total: number total: number
transferSpeed: number transferSpeed: number
} }

@ -61,6 +61,7 @@ impl Serialize for Error {
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
struct ProgressPayload { struct ProgressPayload {
progress: u64, progress: u64,
progress_total: u64,
total: u64, total: u64,
transfer_speed: u64, transfer_speed: u64,
} }
@ -98,7 +99,8 @@ async fn download(
file.write_all(&chunk).await?; file.write_all(&chunk).await?;
stats.record_chunk_transfer(chunk.len()); stats.record_chunk_transfer(chunk.len());
let _ = on_progress.send(ProgressPayload { let _ = on_progress.send(ProgressPayload {
progress: stats.total_transferred, progress: chunk.len() as u64,
progress_total: stats.total_transferred,
total, total,
transfer_speed: stats.transfer_speed, transfer_speed: stats.transfer_speed,
}); });
@ -153,6 +155,7 @@ fn file_to_body(channel: Channel<ProgressPayload>, file: File) -> reqwest::Body
stats.record_chunk_transfer(progress as usize); stats.record_chunk_transfer(progress as usize);
let _ = channel.send(ProgressPayload { let _ = channel.send(ProgressPayload {
progress, progress,
progress_total: stats.total_transferred,
total, total,
transfer_speed: stats.transfer_speed, transfer_speed: stats.transfer_speed,
}); });

Loading…
Cancel
Save