]> Sergey Matveev's repositories - btrtrc.git/blob - fs/filenode.go
Switch to goimports import sorting
[btrtrc.git] / fs / filenode.go
1 package torrentfs
2
3 import (
4         "context"
5
6         "bazil.org/fuse"
7         fusefs "bazil.org/fuse/fs"
8         "github.com/anacrolix/torrent"
9 )
10
11 type fileNode struct {
12         node
13         f *torrent.File
14 }
15
16 var (
17         _ fusefs.NodeOpener = fileNode{}
18 )
19
20 func (fn fileNode) Attr(ctx context.Context, attr *fuse.Attr) error {
21         attr.Size = uint64(fn.f.Length())
22         attr.Mode = defaultMode
23         return nil
24 }
25
26 func (fn fileNode) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fusefs.Handle, error) {
27         r := fn.f.NewReader()
28         return fileHandle{fn, r}, nil
29 }