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.