It's used in many places, I just never formalized it. This will help prevent bugs and misuse of File.Path
package torrent
-import "github.com/anacrolix/torrent/metainfo"
+import (
+ "strings"
+
+ "github.com/anacrolix/torrent/metainfo"
+)
// Provides access to regions of torrent data that correspond to its files.
type File struct {
return f.length
}
+// The relative file path for a multi-file torrent, and the torrent name for a
+// single-file torrent.
+func (f *File) DisplayPath() string {
+ fip := f.FileInfo().Path
+ if len(fip) == 0 {
+ return f.t.Info().Name
+ }
+ return strings.Join(fip, "/")
+
+}
+
type FilePieceState struct {
Bytes int64 // Bytes within the piece that are part of this File.
PieceState