package torrentfs
import (
- "io"
+ "context"
- "bazil.org/fuse"
- fusefs "bazil.org/fuse/fs"
- "golang.org/x/net/context"
+ "github.com/anacrolix/fuse"
+ fusefs "github.com/anacrolix/fuse/fs"
+
+ "github.com/anacrolix/torrent"
)
type fileNode struct {
node
- size uint64
- TorrentOffset int64
+ f *torrent.File
}
-var (
- _ fusefs.NodeOpener = fileNode{}
-)
+var _ fusefs.NodeOpener = fileNode{}
func (fn fileNode) Attr(ctx context.Context, attr *fuse.Attr) error {
- attr.Size = fn.size
+ attr.Size = uint64(fn.f.Length())
attr.Mode = defaultMode
return nil
}
func (fn fileNode) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fusefs.Handle, error) {
- r := fn.t.NewReader()
- r.Seek(fn.TorrentOffset, io.SeekStart)
+ r := fn.f.NewReader()
return fileHandle{fn, r}, nil
}