/*
Package torrent implements a torrent client. Goals include:
- * Configurable data storage, such as file, mmap, and piece-based.
- * Downloading on demand: torrent.Reader will request only the data required to
- satisfy Reads, which is ideal for streaming and torrentfs.
+ - Configurable data storage, such as file, mmap, and piece-based.
+ - Downloading on demand: torrent.Reader will request only the data required to
+ satisfy Reads, which is ideal for streaming and torrentfs.
BitTorrent features implemented include:
- * Protocol obfuscation
- * DHT
- * uTP
- * PEX
- * Magnet links
- * IP Blocklists
- * Some IPv6
- * HTTP and UDP tracker clients
- * BEPs:
- - 3: Basic BitTorrent protocol
- - 5: DHT
- - 6: Fast Extension (have all/none only)
- - 7: IPv6 Tracker Extension
- - 9: ut_metadata
+ - Protocol obfuscation
+ - DHT
+ - uTP
+ - PEX
+ - Magnet links
+ - IP Blocklists
+ - Some IPv6
+ - HTTP and UDP tracker clients
+ - BEPs:
+ - 3: Basic BitTorrent protocol
+ - 5: DHT
+ - 6: Fast Extension (have all/none only)
+ - 7: IPv6 Tracker Extension
+ - 9: ut_metadata
- 10: Extension protocol
- 11: PEX
- 12: Multitracker metadata extension
}
// Interacts with torrent piece data. Optional interfaces to implement include:
-// io.WriterTo, such as when a piece supports a more efficient way to write out incomplete chunks.
-// SelfHashing, such as when a piece supports a more efficient way to hash its contents.
+//
+// io.WriterTo, such as when a piece supports a more efficient way to write out incomplete chunks.
+// SelfHashing, such as when a piece supports a more efficient way to hash its contents.
type PieceImpl interface {
// These interfaces are not as strict as normally required. They can
// assume that the parameters are appropriate for the dimensions of the