hope finally fix rewind

This commit is contained in:
nikk gitanes
2021-08-22 18:55:28 +03:00
parent 56fe672571
commit f8014e9853
4 changed files with 12 additions and 12 deletions

View File

@@ -2,7 +2,7 @@ module server
go 1.17 go 1.17
replace github.com/anacrolix/torrent v1.30.3 => github.com/tsynik/torrent v1.2.7-0.20210822081106-f50bd5065818 replace github.com/anacrolix/torrent v1.30.3 => github.com/tsynik/torrent v1.2.7-0.20210822152206-0c6be3586d70
exclude github.com/willf/bitset v1.2.0 exclude github.com/willf/bitset v1.2.0

View File

@@ -656,8 +656,8 @@ github.com/tinylib/msgp v1.1.1/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDW
github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg=
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tsynik/torrent v1.2.7-0.20210822081106-f50bd5065818 h1:8FwSi/4QLjNRNwFtqx2YX2z8kZlMC+n3oe6PcUKorw8= github.com/tsynik/torrent v1.2.7-0.20210822152206-0c6be3586d70 h1:zcj/875ut7qO4xSePJHWPjlYJzaSKtXngythxng8glo=
github.com/tsynik/torrent v1.2.7-0.20210822081106-f50bd5065818/go.mod h1:6qxhn+CsyQ9b35j3ETXGDMLh4z2vTTutGx3ZnllNcCo= github.com/tsynik/torrent v1.2.7-0.20210822152206-0c6be3586d70/go.mod h1:6qxhn+CsyQ9b35j3ETXGDMLh4z2vTTutGx3ZnllNcCo=
github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q=
github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM=
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=

View File

@@ -1,7 +1,6 @@
package torr package torr
import ( import (
"fmt"
"io" "io"
"io/ioutil" "io/ioutil"
"os" "os"
@@ -102,7 +101,7 @@ func GetTorrent(hashHex string) *Torrent {
go func() { go func() {
lockApi.Lock() lockApi.Lock()
defer lockApi.Unlock() defer lockApi.Unlock()
fmt.Println("Add torrent") log.TLogln("Add torrent")
tr, _ := NewTorrent(tor.TorrentSpec, bts) tr, _ := NewTorrent(tor.TorrentSpec, bts)
if tr != nil { if tr != nil {
tr.Title = tor.Title tr.Title = tor.Title
@@ -215,15 +214,15 @@ func SetSettings(set *sets.BTSets) {
} }
lockApi.Lock() lockApi.Lock()
defer lockApi.Unlock() defer lockApi.Unlock()
fmt.Println("drop all") log.TLogln("drop all")
dropAllTorrent() dropAllTorrent()
time.Sleep(time.Second * 2) time.Sleep(time.Second * 2)
fmt.Println("disconect") log.TLogln("disconect")
bts.Disconnect() bts.Disconnect()
sets.SetBTSets(set) sets.SetBTSets(set)
fmt.Println("connect") log.TLogln("connect")
bts.Connect() bts.Connect()
fmt.Println("end set settings") log.TLogln("end set settings")
} }
func SetDefSettings() { func SetDefSettings() {

View File

@@ -199,6 +199,7 @@ func (c *Cache) cleanPieces() {
rems := (c.filled-c.capacity)/c.pieceLength + 1 rems := (c.filled-c.capacity)/c.pieceLength + 1
for _, p := range remPieces { for _, p := range remPieces {
c.removePiece(p) c.removePiece(p)
c.torrent.Piece(p.Id).UpdateCompletion()
rems-- rems--
if rems <= 0 { if rems <= 0 {
utils.FreeOSMemGC() utils.FreeOSMemGC()
@@ -239,7 +240,7 @@ func (c *Cache) getRemPieces() []*Piece {
} }
} }
c.updatePriority() c.clearPriority()
c.muReaders.Lock() c.muReaders.Lock()
for r, _ := range c.readers { for r, _ := range c.readers {
@@ -328,10 +329,10 @@ func (c *Cache) CloseReader(r *Reader) {
r.Close() r.Close()
delete(r.cache.readers, r) delete(r.cache.readers, r)
r.cache.muReaders.Unlock() r.cache.muReaders.Unlock()
go c.updatePriority() go c.clearPriority()
} }
func (c *Cache) updatePriority() { func (c *Cache) clearPriority() {
time.Sleep(time.Second) time.Sleep(time.Second)
ranges := make([]Range, 0) ranges := make([]Range, 0)
c.muReaders.Lock() c.muReaders.Lock()