]> Sergey Matveev's repositories - btrtrc.git/blobdiff - file.go
Readers obtained from File.NewReader should not readahead into other Files
[btrtrc.git] / file.go
diff --git a/file.go b/file.go
index 8c5ac6d79e69320b7041b1babb27a59893052c9d..19729b4cad8c074c7d39d2e327daa0f8547b15f2 100644 (file)
--- a/file.go
+++ b/file.go
@@ -3,7 +3,6 @@ package torrent
 import (
        "strings"
 
-       "github.com/anacrolix/missinggo"
        "github.com/anacrolix/torrent/metainfo"
 )
 
@@ -107,6 +106,13 @@ func (f *File) Cancel() {
 }
 
 func (f *File) NewReader() Reader {
-       tr := f.t.NewReader()
-       return fileReader{missinggo.NewSectionReadSeeker(tr, f.Offset(), f.Length()), tr}
+       tr := reader{
+               mu:        &f.t.cl.mu,
+               t:         f.t,
+               readahead: 5 * 1024 * 1024,
+               offset:    f.Offset(),
+               length:    f.Length(),
+       }
+       f.t.addReader(&tr)
+       return &tr
 }