github.com/anacrolix/torrent@v1.61.0/storage/file-deprecated.go (about) 1 package storage 2 3 import ( 4 "github.com/anacrolix/torrent/metainfo" 5 ) 6 7 func NewFileWithCompletion(baseDir string, completion PieceCompletion) ClientImplCloser { 8 return NewFileWithCustomPathMakerAndCompletion(baseDir, nil, completion) 9 } 10 11 // File storage with data partitioned by infohash. 12 func NewFileByInfoHash(baseDir string) ClientImplCloser { 13 return NewFileWithCustomPathMaker(baseDir, infoHashPathMaker) 14 } 15 16 // Deprecated: Allows passing a function to determine the path for storing torrent data. The 17 // function is responsible for sanitizing the info if it uses some part of it (for example 18 // sanitizing info.Name). 19 func NewFileWithCustomPathMaker(baseDir string, pathMaker func(baseDir string, info *metainfo.Info, infoHash metainfo.Hash) string) ClientImplCloser { 20 return NewFileWithCustomPathMakerAndCompletion(baseDir, pathMaker, pieceCompletionForDir(baseDir)) 21 } 22 23 // Deprecated: Allows passing custom PieceCompletion 24 func NewFileWithCustomPathMakerAndCompletion( 25 baseDir string, 26 pathMaker TorrentDirFilePathMaker, 27 completion PieceCompletion, 28 ) ClientImplCloser { 29 return NewFileOpts(NewFileClientOpts{ 30 ClientBaseDir: baseDir, 31 TorrentDirMaker: pathMaker, 32 PieceCompletion: completion, 33 }) 34 }