From 237d9e9fde17534f499b768baacaa26dc0e63524 Mon Sep 17 00:00:00 2001 From: YouROK <8yourok8@mail.ru> Date: Wed, 30 Dec 2020 10:19:41 +0300 Subject: [PATCH] refactor expired time --- src/server/torr/apihelper.go | 2 +- src/server/torr/torrent.go | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/server/torr/apihelper.go b/src/server/torr/apihelper.go index cc2991d..2ae082b 100644 --- a/src/server/torr/apihelper.go +++ b/src/server/torr/apihelper.go @@ -54,7 +54,7 @@ func GetTorrent(hashHex string) *Torrent { hash := metainfo.NewHashFromHex(hashHex) tor := bts.GetTorrent(hash) if tor != nil { - tor.expiredTime = time.Now().Add(time.Minute) + tor.AddExpiredTime(time.Minute) return tor } diff --git a/src/server/torr/torrent.go b/src/server/torr/torrent.go index 5e3b094..d4cfb04 100644 --- a/src/server/torr/torrent.go +++ b/src/server/torr/torrent.go @@ -7,7 +7,7 @@ import ( "sort" "time" - sync "github.com/sasha-s/go-deadlock" + "sync" "server/log" "server/settings" @@ -84,7 +84,7 @@ func NewTorrent(spec *torrent.TorrentSpec, bt *BTServer) (*Torrent, error) { torr.bt = bt torr.closed = goTorrent.Closed() torr.TorrentSpec = spec - torr.expiredTime = time.Now().Add(time.Minute) + torr.AddExpiredTime(time.Minute) torr.Timestamp = time.Now().Unix() go torr.watch() @@ -120,7 +120,7 @@ func (t *Torrent) GotInfo() bool { t.Stat = state.TorrentGettingInfo if t.WaitInfo() { t.Stat = state.TorrentWorking - t.expiredTime = time.Now().Add(time.Minute * 5) + t.AddExpiredTime(time.Minute * 5) return true } else { t.Close() @@ -128,6 +128,10 @@ func (t *Torrent) GotInfo() bool { } } +func (t *Torrent) AddExpiredTime(duration time.Duration) { + t.expiredTime = time.Now().Add(duration) +} + func (t *Torrent) watch() { t.progressTicker = time.NewTicker(time.Second) defer t.progressTicker.Stop() @@ -228,7 +232,7 @@ func (t *Torrent) NewReader(file *torrent.File) *torrstor.Reader { func (t *Torrent) CloseReader(reader *torrstor.Reader) { t.cache.CloseReader(reader) - t.expiredTime = time.Now().Add(time.Second * time.Duration(settings.BTsets.TorrentDisconnectTimeout)) + t.AddExpiredTime(time.Second * time.Duration(settings.BTsets.TorrentDisconnectTimeout)) } func (t *Torrent) GetCache() *torrstor.Cache {