file.go | 10 +--------- t.go | 7 ++++++- diff --git a/file.go b/file.go index 45defe6e87cbdc3714990da10f6d8383a95b6a6f..bd5a6999ff89e685c7a8d44f2ce573d25242c37f 100644 --- a/file.go +++ b/file.go @@ -140,15 +140,7 @@ f.SetPriority(PiecePriorityNone) } 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 69cef55410a391ab9e1bbfb546a859ee90fe785e..170827296bd6ffc4154f8c0b92dbc3729ba4163d 100644 --- a/t.go +++ b/t.go @@ -32,11 +32,16 @@ // 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