Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateNativeZeroLengthFiles ¶
Creates natives files for any zero-length file entries in the info. This is a helper for file-based storages, which don't address or write to zero- length files because they have no corresponding pieces.
Types ¶
type Client ¶
type Client struct {
ClientImpl
}
func NewClient ¶
func NewClient(cl ClientImpl) *Client
type ClientImpl ¶
type ClientImpl interface { OpenTorrent(info *metainfo.Info, infoHash metainfo.Hash) (TorrentImpl, error) Close() error }
Represents data storage for an unspecified torrent.
func NewBoltDB ¶
func NewBoltDB(filePath string) ClientImpl
func NewFile ¶
func NewFile(baseDir string) ClientImpl
func NewMMap ¶
func NewMMap(baseDir string) ClientImpl
func NewResourcePieces ¶
func NewResourcePieces(p resource.Provider) ClientImpl
type PieceImpl ¶
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 // piece. io.ReaderAt io.WriterAt // Called when the client believes the piece data will pass a hash check. // The storage can move or mark the piece data as read-only as it sees // fit. MarkComplete() error MarkNotComplete() error // Returns true if the piece is complete. GetIsComplete() bool DeletePiece(chunks int) (int64, error) }
Interacts with torrent piece data.
type Torrent ¶
type Torrent struct {
TorrentImpl
}
Click to show internal directories.
Click to hide internal directories.