client_test.go | 6 +++--- storage/piece_file.go | 31 +++---------------------------- diff --git a/client_test.go b/client_test.go index 57005ef6981207ee8da6578c4728a83dd62c8ba2..5cd83ce841ac76e776d2b83b7a1b04b93d3cb11b 100644 --- a/client_test.go +++ b/client_test.go @@ -315,7 +315,7 @@ require.NoError(t, err) if ps.SetLeecherStorageCapacity { fc.SetCapacity(ps.LeecherStorageCapacity) } - cfg.DefaultStorage = storage.NewPieceFileStorage(storage.FileCacheFileStore{fc}) + cfg.DefaultStorage = storage.NewPieceFileStorage(fc.AsFileStore()) leecher, err := NewClient(&cfg) require.NoError(t, err) defer leecher.Close() @@ -730,7 +730,7 @@ fileCache, err := filecache.NewCache(fileCacheDir) require.NoError(t, err) greetingDataTempDir, greetingMetainfo := testutil.GreetingTestTorrent() defer os.RemoveAll(greetingDataTempDir) - filePieceStore := storage.NewPieceFileStorage(storage.FileCacheFileStore{fileCache}) + filePieceStore := storage.NewPieceFileStorage(fileCache.AsFileStore()) greetingData, err := filePieceStore.OpenTorrent(&greetingMetainfo.Info) require.NoError(t, err) writeTorrentData(greetingData, &greetingMetainfo.Info, []byte(testutil.GreetingFileContents)) @@ -821,7 +821,7 @@ require.NoError(t, err) if ps.SetLeecherStorageCapacity { fc.SetCapacity(ps.LeecherStorageCapacity) } - cfg.DefaultStorage = storage.NewPieceFileStorage(storage.FileCacheFileStore{fc}) + cfg.DefaultStorage = storage.NewPieceFileStorage(fc.AsFileStore()) cfg.DataDir = leecherDataDir leecher, _ := NewClient(&cfg) defer leecher.Close() diff --git a/storage/piece_file.go b/storage/piece_file.go index 9bda947e79d63ef844b38aeae23dc60612f26f2b..82dfbdcfeaefe33ecf5d41bba8ec61b44795c7bb 100644 --- a/storage/piece_file.go +++ b/storage/piece_file.go @@ -6,40 +6,15 @@ "os" "path" "github.com/anacrolix/missinggo" - "github.com/anacrolix/missinggo/filecache" "github.com/anacrolix/torrent/metainfo" ) -type FileStore interface { - OpenFile(path string, flags int) (File, error) - Stat(path string) (os.FileInfo, error) - Rename(from, to string) error - Remove(path string) error -} - -type File interface { - io.ReaderAt - io.WriterAt - io.Writer - io.Reader - io.Closer - io.Seeker -} - -type FileCacheFileStore struct { - *filecache.Cache -} - -func (me FileCacheFileStore) OpenFile(p string, f int) (File, error) { - return me.Cache.OpenFile(p, f) -} - type pieceFileStorage struct { - fs FileStore + fs missinggo.FileStore } -func NewPieceFileStorage(fs FileStore) I { +func NewPieceFileStorage(fs missinggo.FileStore) I { return &pieceFileStorage{ fs: fs, } @@ -64,7 +39,7 @@ type pieceFileTorrentStoragePiece struct { ts *pieceFileTorrentStorage p metainfo.Piece - fs FileStore + fs missinggo.FileStore } func (me pieceFileTorrentStoragePiece) completedPath() string {