]> Sergey Matveev's repositories - btrtrc.git/blob - tests/issue-930/noServer.go
Add issue-930 demo
[btrtrc.git] / tests / issue-930 / noServer.go
1 package main
2
3 import (
4         "fmt"
5         "os"
6         "os/signal"
7         "syscall"
8
9         "github.com/anacrolix/torrent/metainfo"
10 )
11
12 func noServer() {
13         fmt.Println("Ctrl+C to start downloading")
14         sc := make(chan os.Signal, 1)
15         signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt)
16         <-sc
17
18         for _, hash := range infoHashes {
19                 t, _ := client.AddTorrentInfoHash(metainfo.NewHashFromHex(hash))
20                 infoHash := hash
21                 go func() {
22                         <-t.GotInfo()
23                         fmt.Println("Download started for", infoHash)
24                         t.DownloadAll()
25                 }()
26         }
27
28         client.WaitAll()
29         fmt.Println("All torrents downloaded")
30
31         fmt.Println("Ctrl+C to stop program")
32         sc2 := make(chan os.Signal, 1)
33         signal.Notify(sc2, syscall.SIGINT, syscall.SIGTERM, os.Interrupt)
34         <-sc2
35 }