add speed for download
This commit is contained in:
@@ -168,7 +168,10 @@ async fn download(
|
|||||||
|
|
||||||
app.emit(
|
app.emit(
|
||||||
"download-progress",
|
"download-progress",
|
||||||
format!("{}:{:.8}:{}:{:.2}", &name, progress, downloaded, eta_secs),
|
format!(
|
||||||
|
"{}:{:.8}:{}:{}:{:.2}",
|
||||||
|
&name, progress, downloaded, speed, eta_secs
|
||||||
|
),
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,10 +115,11 @@ export default function RootLayout ({
|
|||||||
let unlistenUninstalled: (() => void) | null = null
|
let unlistenUninstalled: (() => void) | null = null
|
||||||
|
|
||||||
listen<string>('download-progress', event => {
|
listen<string>('download-progress', event => {
|
||||||
const [versionName, progStr, totalSizeStr, etaSecsStr] =
|
const [versionName, progStr, totalSizeStr, speedStr, etaSecsStr] =
|
||||||
event.payload.split(':')
|
event.payload.split(':')
|
||||||
const prog = Number(progStr)
|
const prog = Number(progStr)
|
||||||
const progBytes = Number(totalSizeStr)
|
const progBytes = Number(totalSizeStr)
|
||||||
|
const speed = Number(speedStr)
|
||||||
const etaSecs = Number(etaSecsStr)
|
const etaSecs = Number(etaSecsStr)
|
||||||
setDownloadProgress(prev => {
|
setDownloadProgress(prev => {
|
||||||
const i = prev.findIndex(d => d.version === versionName)
|
const i = prev.findIndex(d => d.version === versionName)
|
||||||
@@ -128,6 +129,7 @@ export default function RootLayout ({
|
|||||||
...copy[i],
|
...copy[i],
|
||||||
progress: prog,
|
progress: prog,
|
||||||
progressBytes: progBytes,
|
progressBytes: progBytes,
|
||||||
|
speed,
|
||||||
etaSecs
|
etaSecs
|
||||||
}
|
}
|
||||||
return copy
|
return copy
|
||||||
@@ -279,7 +281,7 @@ export default function RootLayout ({
|
|||||||
|
|
||||||
const newDownloads = list.map(
|
const newDownloads = list.map(
|
||||||
version =>
|
version =>
|
||||||
new DownloadProgress(version, 0, 0, false, true, false, false, 0)
|
new DownloadProgress(version, 0, 0, false, true, false, false, 0, 0)
|
||||||
)
|
)
|
||||||
|
|
||||||
setDownloadProgress(newDownloads)
|
setDownloadProgress(newDownloads)
|
||||||
@@ -696,7 +698,13 @@ export default function RootLayout ({
|
|||||||
maximumFractionDigits: 1
|
maximumFractionDigits: 1
|
||||||
}
|
}
|
||||||
)}{' '}
|
)}{' '}
|
||||||
(ETA: {formatEtaSmart(v.etaSecs)})
|
(ETA: {formatEtaSmart(v.etaSecs)}{' '}
|
||||||
|
• Speed:{' '}
|
||||||
|
{prettyBytes(v.speed, {
|
||||||
|
minimumFractionDigits: 1,
|
||||||
|
maximumFractionDigits: 1
|
||||||
|
})}
|
||||||
|
/s)
|
||||||
</span>
|
</span>
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
progress={v.progress}
|
progress={v.progress}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export class DownloadProgress {
|
|||||||
public queued: boolean,
|
public queued: boolean,
|
||||||
public hash_checking: boolean,
|
public hash_checking: boolean,
|
||||||
public finishing: boolean,
|
public finishing: boolean,
|
||||||
|
public speed: number,
|
||||||
public etaSecs: number
|
public etaSecs: number
|
||||||
) { }
|
) { }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user