// NewFileReader sets up a torrent file for streaming reading. func NewFileReader(f *torrent.File) (SeekableContent, error) { torrent := f.Torrent() reader := torrent.NewReader() // We read ahead 1% of the file continuously. reader.SetReadahead(f.Length() / 100) reader.SetResponsive() _, err := reader.Seek(f.Offset(), os.SEEK_SET) return &FileEntry{ File: f, Reader: reader, }, err }
// NewFileReader sets up a torrent file for streaming reading. func NewFileReader(f *torrent.File) (SeekableContent, error) { // Start download f.Download() torrent := f.Torrent() reader := torrent.NewReader() // Read ahead 10mb reader.SetReadahead(1024 * 1024 * 10) reader.SetResponsive() _, err := reader.Seek(f.Offset(), os.SEEK_SET) return &FileEntry{ File: f, Reader: reader, N: f.Length(), }, err }
func (e *Engine) GetTorrentPercent(file *torrent.File) float32 { t := e.upsertTorrent(file.Torrent()) return t.Percent }