From 7790e72832b51d30754120a49cbdd52e218ad142 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Wed, 30 Mar 2016 19:12:33 +1100 Subject: [PATCH] Move storage.FileStore interface to missinggo --- client_test.go | 6 +++--- storage/piece_file.go | 31 +++---------------------------- 2 files changed, 6 insertions(+), 31 deletions(-) diff --git a/client_test.go b/client_test.go index 57005ef6..5cd83ce8 100644 --- a/client_test.go +++ b/client_test.go @@ -315,7 +315,7 @@ func testClientTransfer(t *testing.T, ps testClientTransferParams) { 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 @@ func testAddTorrentPriorPieceCompletion(t *testing.T, alreadyCompleted bool) { 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 @@ func testDownloadCancel(t *testing.T, ps testDownloadCancelParams) { 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 9bda947e..82dfbdcf 100644 --- a/storage/piece_file.go +++ b/storage/piece_file.go @@ -6,40 +6,15 @@ import ( "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 @@ func (me *pieceFileTorrentStorage) Piece(p metainfo.Piece) Piece { type pieceFileTorrentStoragePiece struct { ts *pieceFileTorrentStorage p metainfo.Piece - fs FileStore + fs missinggo.FileStore } func (me pieceFileTorrentStoragePiece) completedPath() string {