cn.schoolwow.download.domain.pool.DownloadPoolConfig Maven / Gradle / Ivy
The newest version!
package cn.schoolwow.download.domain.pool;
import cn.schoolwow.quickhttp.response.Response;
import java.nio.file.Path;
import java.util.function.BiPredicate;
public interface DownloadPoolConfig {
/**
* 是否打印流程日志
* */
DownloadPoolConfig printFlowTrace(boolean printFlowTrace);
/**
* 指定临时文件目录
* @param temporaryDirectoryPath 临时文件目录
* */
DownloadPoolConfig temporaryDirectoryPath(String temporaryDirectoryPath);
/**
* 下载失败重试次数(默认3次)
* @param retryTimes 下载失败重试次数
* */
DownloadPoolConfig retryTimes(int retryTimes);
/**
* 是否强制全局单线程下载
* @param singleThread 是否强制单线程下载
* */
DownloadPoolConfig singleThread(boolean singleThread);
/**
* 指定多线程分段下载时的块大小
* @param blockSize 块大小kb
* */
DownloadPoolConfig blockSize(int blockSize);
/**
* 指定最大下载速度(kb/s)
* @param maxDownloadSpeed 最大下载速度(kb/s)
* */
DownloadPoolConfig maxDownloadSpeed(int maxDownloadSpeed);
/**
* 指定全局最大线程连接个数
* @param maxThreadConnection 最大线程连接个数(默认个数为CPU核心数*2)
* */
DownloadPoolConfig maxThreadConnection(int maxThreadConnection);
/**
* 指定全局文件保存目录
* @param directoryPath 文件保存目录
* */
DownloadPoolConfig directoryPath(String directoryPath);
/**
* 指定最大同时下载任务个数
* @param parallelDownloadCount 最大同时下载任务个数(默认个数为CPU核心数)
* */
DownloadPoolConfig parallelDownloadCount(int parallelDownloadCount);
/**
* 指定全局文件完整性校验函数
* @param fileIntegrityChecker 文件完整性校验函数
* */
DownloadPoolConfig fileIntegrityChecker(BiPredicate fileIntegrityChecker);
/**
* 指定线程池事件监听接口
* @param downloadPoolListener 线程池事件监听接口
* */
DownloadPoolConfig downloadPoolListener(DownloadPoolListener downloadPoolListener);
/**
* 获取配置参数
* */
PoolConfig getPoolConfig();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy