spark-store/src/main.cpp
RigoLigoRLC 8f32141726 修复SpkDownloadMgr重大bug
1. 原有依靠Qt Network的连接超时不可靠,改为自己使用Watchdog值跟踪。
2. 原有代码在请求时大量未对Reply设置正确的workerId,已修正
3. 原有代码不能自动在出错worker出错但其他worker已经全部完成时进行得分配,已修正
4. 原有代码ActiveWorkerCount计算方法不准确,每次link都会增加,但是由于重试重分配都会Link而且Worker不会从
List中删除,所以已改为任务开始时一次加满
5. 原有代码忘记在WorkerFinish时检查有否未写入的cache以及未关闭下载文件
6. 原有代码未将Reply的errorOccurred信号与WorkerError槽连接,导致这个槽并没有发挥什么卵用

测试文件改为有道词典,小一点
增加了等待HEAD请求时光标变成忙的特性
2022-02-19 02:38:03 +08:00

39 lines
1.0 KiB
C++

#include <QApplication>
#include <QPushButton>
#include <spklogging.h>
#include "spkui_general.h"
#include "spkstore.h"
#include "spkdownload.h"
#include "spkmsgbox.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qRegisterMetaType<SpkDownloadMgr::TaskResult>("TaskResult");
QString LogPath = "";
SpkStore store(false, LogPath);
// SpkDownloadMgr dl;
// dl.SetNewServers({
// "https://d1.store.deepinos.org.cn/",
// "https://d2.store.deepinos.org.cn/",
// "https://d3.store.deepinos.org.cn/",
// "https://d4.store.deepinos.org.cn/",
// "https://d5.store.deepinos.org.cn/"
// });
// dl.SetDestinationFolder("/tmp/");
// dl.StartNewDownload("store/office/cn.com.10jqka/cn.com.10jqka_1.6.1.2_amd64.deb", 0);
// QObject::connect(&dl, &SpkDownloadMgr::DownloadStopped,
// [&](SpkDownloadMgr::TaskResult, int)
// {
// SpkMsgBox::StaticExec("Finished", "");
// });
return QApplication::exec();
}