Skip to content
This repository has been archived by the owner on Sep 23, 2023. It is now read-only.

Commit

Permalink
save
Browse files Browse the repository at this point in the history
  • Loading branch information
AskAlexSharov committed Sep 12, 2023
1 parent 3dc29aa commit b76f8e7
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 17 deletions.
30 changes: 21 additions & 9 deletions downloader/downloader.go
Original file line number Diff line number Diff line change
Expand Up @@ -506,6 +506,23 @@ func (d *Downloader) createMagnetLinkWithInfoHash(ctx context.Context, hash *pro
return false, nil
}

func seedableFiles(snapDir string) ([]string, error) {
files, err := seedableSegmentFiles(snapDir)
if err != nil {
return nil, fmt.Errorf("seedableSegmentFiles: %w", err)
}
files2, err := seedableHistorySnapshots(snapDir, "history")
if err != nil {
return nil, fmt.Errorf("seedableHistorySnapshots: %w", err)
}
files = append(files, files2...)
files2, err = seedableHistorySnapshots(snapDir, "warm")
if err != nil {
return nil, fmt.Errorf("seedableHistorySnapshots: %w", err)
}
files = append(files, files2...)
return files, nil
}
func (d *Downloader) addSegments(ctx context.Context) error {
logEvery := time.NewTicker(20 * time.Second)
defer logEvery.Stop()
Expand All @@ -517,17 +534,12 @@ func (d *Downloader) addSegments(ctx context.Context) error {
if err != nil {
return fmt.Errorf("AddTorrentFiles: %w", err)
}
files, err := seedableSegmentFiles(d.SnapDir())
if err != nil {
return fmt.Errorf("seedableSegmentFiles: %w", err)
}
files2, err := seedableHistorySnapshots(d.SnapDir())
if err != nil {
return fmt.Errorf("seedableHistorySnapshots: %w", err)
}
files = append(files, files2...)
g, ctx := errgroup.WithContext(ctx)
i := atomic.Int64{}
files, err := seedableFiles(d.SnapDir())
if err != nil {
return err
}
for _, f := range files {
f := f
g.Go(func() error {
Expand Down
11 changes: 3 additions & 8 deletions downloader/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,8 @@ func seedableSegmentFiles(dir string) ([]string, error) {

var historyFileRegex = regexp.MustCompile("^([[:lower:]]+).([0-9]+)-([0-9]+).(v|ef)$")

func seedableHistorySnapshots(dir string) ([]string, error) {
historyDir := filepath.Join(dir, "history")
func seedableHistorySnapshots(dir, subDir string) ([]string, error) {
historyDir := filepath.Join(dir, subDir)
dir2.MustExist(historyDir)
files, err := os.ReadDir(historyDir)
if err != nil {
Expand Down Expand Up @@ -234,15 +234,10 @@ func BuildTorrentFilesIfNeed(ctx context.Context, snapDir string) ([]string, err
logEvery := time.NewTicker(20 * time.Second)
defer logEvery.Stop()

files, err := seedableSegmentFiles(snapDir)
files, err := seedableFiles(snapDir)
if err != nil {
return nil, err
}
files2, err := seedableHistorySnapshots(snapDir)
if err != nil {
return nil, err
}
files = append(files, files2...)

errs := make(chan error, len(files)*2)
wg := &sync.WaitGroup{}
Expand Down

0 comments on commit b76f8e7

Please sign in to comment.