import (
"context"
"io"
- "os"
"github.com/anacrolix/missinggo"
"github.com/anacrolix/torrent"
if req.Dir {
panic("read on directory")
}
- pos, err := me.r.Seek(me.fn.TorrentOffset+req.Offset, os.SEEK_SET)
+ pos, err := me.r.Seek(me.fn.TorrentOffset+req.Offset, io.SeekStart)
if err != nil {
panic(err)
}
package torrentfs
import (
- "os"
+ "io"
"bazil.org/fuse"
fusefs "bazil.org/fuse/fs"
func (fn fileNode) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenResponse) (fusefs.Handle, error) {
r := fn.t.NewReader()
- r.Seek(fn.TorrentOffset, os.SEEK_SET)
+ r.Seek(fn.TorrentOffset, io.SeekStart)
return fileHandle{fn, r}, nil
}
t *torrent.Torrent
}
-func (n *node) fsPath() string {
- return "/" + n.metadata.Name + "/" + n.path
-}
-
type dirNode struct {
node
}
resp := &fuse.ReadResponse{
Data: make([]byte, size),
}
- h, err := node.(fusefs.NodeOpener).Open(nil, nil, nil)
+ h, err := node.(fusefs.NodeOpener).Open(context.TODO(), nil, nil)
require.NoError(t, err)
h.(fusefs.HandleReader).Read(netContext.Background(), &fuse.ReadRequest{
Size: int(size),
import (
"bufio"
"bytes"
- "fmt"
"net"
"strings"
"testing"
- "github.com/anacrolix/missinggo"
"github.com/bradfitz/iter"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
}
}
-func connRemoteAddrIP(network, laddr string, dialHost string) net.IP {
- l, err := net.Listen(network, laddr)
- if err != nil {
- panic(err)
- }
- go func() {
- c, err := net.Dial(network, net.JoinHostPort(dialHost, fmt.Sprintf("%d", missinggo.AddrPort(l.Addr()))))
- if err != nil {
- panic(err)
- }
- defer c.Close()
- }()
- c, err := l.Accept()
- if err != nil {
- panic(err)
- }
- defer c.Close()
- ret := missinggo.AddrIP(c.RemoteAddr())
- return ret
-}
-
func lookupOk(r Range, ok bool) bool {
return ok
}
h.writerCond.Wait()
}
h.writerMu.Unlock()
- return
}
func (h *handshake) writer() {
ts, err := s.OpenTorrent(info, metainfo.Hash{})
assert.NoError(t, err)
f, err := os.Create(filepath.Join(td, "a"))
+ require.NoError(t, err)
err = f.Truncate(1)
+ require.NoError(t, err)
f.Close()
var buf bytes.Buffer
p := info.Piece(0)