}
}
-func fileCachePieceResourceStorage(fc *filecache.Cache) storage.ClientImplCloser {
+func fileCachePieceResourceStorage(fc *filecache.Cache) storage.ClientImpl {
return storage.NewResourcePieces(fc.AsResourceProvider())
}
}
}
-func testAddTorrentPriorPieceCompletion(t *testing.T, alreadyCompleted bool, csf func(*filecache.Cache) storage.ClientImplCloser) {
+func testAddTorrentPriorPieceCompletion(t *testing.T, alreadyCompleted bool, csf func(*filecache.Cache) storage.ClientImpl) {
fileCacheDir, err := ioutil.TempDir("", "")
require.NoError(t, err)
defer os.RemoveAll(fileCacheDir)
greetingDataTempDir, greetingMetainfo := testutil.GreetingTestTorrent()
defer os.RemoveAll(greetingDataTempDir)
filePieceStore := csf(fileCache)
- defer filePieceStore.Close()
info, err := greetingMetainfo.UnmarshalInfo()
require.NoError(t, err)
ih := greetingMetainfo.HashInfoBytes()
p resource.Provider
}
-func NewResourcePieces(p resource.Provider) ClientImplCloser {
+func NewResourcePieces(p resource.Provider) ClientImpl {
return &piecePerResource{
p: p,
}
}
-func (s *piecePerResource) OpenTorrent(info *metainfo.Info, infoHash metainfo.Hash) (TorrentImpl, error) {
- return s, nil
+type piecePerResourceTorrentImpl struct {
+ piecePerResource
}
-func (s *piecePerResource) Close() error {
+func (piecePerResourceTorrentImpl) Close() error {
return nil
}
-func (s *piecePerResource) Piece(p metainfo.Piece) PieceImpl {
+func (s piecePerResource) OpenTorrent(info *metainfo.Info, infoHash metainfo.Hash) (TorrentImpl, error) {
+ return piecePerResourceTorrentImpl{s}, nil
+}
+
+func (s piecePerResource) Piece(p metainfo.Piece) PieceImpl {
return piecePerResourcePiece{
mp: p,
rp: s.p,
}
func fileCachePieceResourceStorage(fc *filecache.Cache) storage.ClientImplCloser {
- return storage.NewResourcePieces(fc.AsResourceProvider())
+ return struct {
+ storage.ClientImpl
+ io.Closer
+ }{
+ storage.NewResourcePieces(fc.AsResourceProvider()),
+ ioutil.NopCloser(nil),
+ }
}
func testClientTransferSmallCache(t *testing.T, setReadahead bool, readahead int64) {