]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Implement File.ReadAt
authorMatt Joiner <anacrolix@gmail.com>
Thu, 26 Feb 2015 05:10:38 +0000 (16:10 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 26 Feb 2015 05:10:38 +0000 (16:10 +1100)
client.go

index 2fff46a90609bf2b3e9080a18bcd8bef6dc83ece..9a89761246791f9f5a898d8d651b691b77166946 100644 (file)
--- a/client.go
+++ b/client.go
@@ -1675,6 +1675,14 @@ type File struct {
        metainfo.FileInfo
 }
 
+func (f File) ReadAt(p []byte, off int64) (n int, err error) {
+       maxLen := f.length - off
+       if int64(len(p)) > maxLen {
+               p = p[:maxLen]
+       }
+       return f.t.ReadAt(p, off+f.offset)
+}
+
 func (f *File) Length() int64 {
        return f.length
 }