Files
yatm/executor/job_restore_display.go
2023-09-26 16:47:06 +08:00

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
}