mirror of
https://github.com/samuelncui/yatm.git
synced 2026-01-03 11:45:21 +00:00
26 lines
731 B
Go
26 lines
731 B
Go
package executor
|
|
|
|
import (
|
|
"context"
|
|
"sync/atomic"
|
|
|
|
"github.com/samuelncui/yatm/entity"
|
|
)
|
|
|
|
func (e *Executor) getRestoreDisplay(ctx context.Context, job *Job) (*entity.JobRestoreDisplay, error) {
|
|
display := new(entity.JobRestoreDisplay)
|
|
|
|
if exe := e.getRestoreExecutor(ctx, job); exe != nil && exe.progress != nil {
|
|
display.CopyedBytes = atomic.LoadInt64(&exe.progress.bytes)
|
|
display.CopyedFiles = atomic.LoadInt64(&exe.progress.files)
|
|
display.TotalBytes = atomic.LoadInt64(&exe.progress.totalBytes)
|
|
display.TotalFiles = atomic.LoadInt64(&exe.progress.totalFiles)
|
|
display.StartTime = exe.progress.startTime.Unix()
|
|
|
|
speed := atomic.LoadInt64(&exe.progress.speed)
|
|
display.Speed = &speed
|
|
}
|
|
|
|
return display, nil
|
|
}
|