11 "github.com/anacrolix/torrent"
12 "github.com/anacrolix/torrent/metainfo"
18 TxStats = map[metainfo.Hash]int64{}
22 func txStatsLoad(h metainfo.Hash) {
23 pth := h.HexString() + TxExt
24 data, err := os.ReadFile(pth)
28 v, err := strconv.ParseInt(string(data[:len(data)-1]), 10, 64)
30 log.Println("ParseInt:", pth, err)
38 func txStatsDel(h metainfo.Hash) {
44 func txStatsDump(t *torrent.Torrent) {
47 s := stats.BytesWrittenData.Int64() + TxStats[t.InfoHash()]
48 pth := t.InfoHash().HexString() + TxExt
49 if err := os.WriteFile(pth, []byte(fmt.Sprintf("%d\n", s)), 0666); err != nil {
50 log.Println("WriteFile:", pth, err)
55 func txStatsDumpAll(c *torrent.Client) {
56 for _, t := range c.Torrents() {
63 func txStatsDumper(c *torrent.Client) {
64 tick := time.Tick(10 * time.Second)