Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultFetcher ¶
type DefaultFetcher struct { Ctl *controller.Controller Meta *FetcherMeta DoneCh chan error }
func (*DefaultFetcher) Setup ¶
func (f *DefaultFetcher) Setup(ctl *controller.Controller) (err error)
func (*DefaultFetcher) Wait ¶
func (f *DefaultFetcher) Wait() (err error)
type Fetcher ¶
type Fetcher interface { // Name return the name of the protocol. Name() string Setup(ctl *controller.Controller) error // Resolve resource info from request Resolve(req *base.Request) error // Create ready to download, but not started Create(opts *base.Options) error Start() error Pause() error Continue() error Close() error // Meta returns the meta information of the download. Meta() *FetcherMeta // Progress returns the progress of the download. Progress() Progress // Wait for the download to complete, this method will block until the download is done. Wait() error }
Fetcher defines the interface for a download protocol. One fetcher for each download task
type FetcherBuilder ¶
type FetcherBuilder interface { // Schemes returns the schemes supported by the fetcher. Schemes() []string // Build returns a new fetcher. Build() Fetcher // Store fetcher Store(fetcher Fetcher) (any, error) // Restore fetcher Restore() (v any, f func(meta *FetcherMeta, v any) Fetcher) }
FetcherBuilder defines the interface for a fetcher builder.
Click to show internal directories.
Click to hide internal directories.