Documentation ¶
Index ¶
- Variables
- type BrokenType
- type DownloadMgr
- func (dm *DownloadMgr) AddNormalDownloadTask(nameHash string, folderId uint32, savePath string, targetUrl string, ...) (*Task, error)
- func (dm *DownloadMgr) AddQuickDownloadTask(nameHash string, folderId uint32, savePath string, targetUrl string, ...) (*Task, error)
- func (dm *DownloadMgr) GetIdleTaskSize() (map[string]int, int)
- func (dm *DownloadMgr) GetLogger() ULog.Logger
- func (dm *DownloadMgr) GetTaskInfo(id uint64) *Task
- func (dm *DownloadMgr) GetTaskMap() *sync.Map
- func (dm *DownloadMgr) SetIgnoreHeader(ignores []string)
- func (dm *DownloadMgr) SetLogger(logger ULog.Logger)
- type FailReasonType
- type Task
- type TaskStatus
- type TaskType
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrOriginUrlProtocol = errors.New("origin url is not http protocol")
Functions ¶
This section is empty.
Types ¶
type BrokenType ¶
type BrokenType int
type DownloadMgr ¶
type DownloadMgr struct {
// contains filtered or unexported fields
}
func NewDownloadMgr ¶
func NewDownloadMgr() *DownloadMgr
NewDownloadMgr new instance of Download manager. Background jobs will start to classify and download
func (*DownloadMgr) AddNormalDownloadTask ¶
func (dm *DownloadMgr) AddNormalDownloadTask(nameHash string, folderId uint32, savePath string, targetUrl string, needEncrypt bool, sizeLimit int64, onSuccess func(task *Task), onFail func(task *Task), onCancel func(task *Task), onDownloading func(task *Task), slowSpeedCallback func(task *Task)) (*Task, error)
AddNormalDownloadTask start a normal download task. Task will be push to different download channel depends on it is resumable or not
func (*DownloadMgr) AddQuickDownloadTask ¶
func (dm *DownloadMgr) AddQuickDownloadTask(nameHash string, folderId uint32, savePath string, targetUrl string, expireTime int64, needEncrypt bool, sizeLimit int64, onSuccess func(task *Task), onFail func(task *Task), onCancel func(task *Task), onDownloading func(task *Task)) (*Task, error)
AddQuickDownloadTask start a quick download task. Quick tasks start the download as soon as possible and have an expiration time. The task will fail when it expires.
func (*DownloadMgr) GetIdleTaskSize ¶
func (dm *DownloadMgr) GetIdleTaskSize() (map[string]int, int)
func (*DownloadMgr) GetLogger ¶
func (dm *DownloadMgr) GetLogger() ULog.Logger
func (*DownloadMgr) GetTaskInfo ¶
func (dm *DownloadMgr) GetTaskInfo(id uint64) *Task
func (*DownloadMgr) GetTaskMap ¶
func (dm *DownloadMgr) GetTaskMap() *sync.Map
func (*DownloadMgr) SetIgnoreHeader ¶
func (dm *DownloadMgr) SetIgnoreHeader(ignores []string)
func (*DownloadMgr) SetLogger ¶
func (dm *DownloadMgr) SetLogger(logger ULog.Logger)
type FailReasonType ¶
type FailReasonType int
const ( NoFail FailReasonType = iota Fail_NoSpace Fail_Expire Fail_SizeLimit Fail_RequestError Fail_Other )
type Task ¶
type Task struct { //init with input param Id uint64 NameHash string FolderId uint32 TargetUrl string SavePath string TaskType TaskType ExpireTime int64 //for quick download, cancel task if expiry,if set 0 never expire Encrypt bool SizeLimit int64 //if >0 means file has size limit, if download data > size limit, task fail //modify when downloading Response *grab.Response Status TaskStatus FailReason FailReasonType // contains filtered or unexported fields }
func (*Task) CancelDownload ¶
func (t *Task) CancelDownload()
CancelDownload cancel download task by manual
type TaskStatus ¶
type TaskStatus int
const ( New TaskStatus = iota Pause Downloading Success Fail )
Click to show internal directories.
Click to hide internal directories.