}
// Data storage bound to a torrent.
- type TorrentImpl interface {
- Piece(metainfo.Piece) PieceImpl
- Close() error
+ type TorrentImpl struct {
+ Piece func(p metainfo.Piece) PieceImpl
+ Close func() error
+ // Storages that share the same value, will provide a pointer to the same function.
+ Capacity *func() *int64
}
-// 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
+// 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.
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