From: Matt Joiner Date: Thu, 9 Sep 2021 07:41:12 +0000 (+1000) Subject: Extract common Torrent.newReader X-Git-Tag: v1.32.0~90 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=4912ae2781fd12af630fd72402ce778f95c4af8f;p=btrtrc.git Extract common Torrent.newReader --- diff --git a/file.go b/file.go index 45defe6e..bd5a6999 100644 --- a/file.go +++ b/file.go @@ -140,15 +140,7 @@ func (f *File) Cancel() { } func (f *File) NewReader() Reader { - tr := reader{ - mu: f.t.cl.locker(), - t: f.t, - readahead: 5 * 1024 * 1024, - offset: f.Offset(), - length: f.Length(), - } - f.t.addReader(&tr) - return &tr + return f.t.newReader(f.Offset(), f.Length()) } // Sets the minimum priority for pieces in the File. diff --git a/t.go b/t.go index 69cef554..17082729 100644 --- a/t.go +++ b/t.go @@ -32,11 +32,16 @@ func (t *Torrent) Info() *metainfo.Info { // Returns a Reader bound to the torrent's data. All read calls block until the data requested is // actually available. Note that you probably want to ensure the Torrent Info is available first. func (t *Torrent) NewReader() Reader { + return t.newReader(0, *t.length) +} + +func (t *Torrent) newReader(offset, length int64) Reader { r := reader{ mu: t.cl.locker(), t: t, readahead: 5 * 1024 * 1024, - length: *t.length, + offset: offset, + length: length, } t.addReader(&r) return &r