mirror of
https://github.com/fabianonline/telegram_backup.git
synced 2024-12-24 22:15:33 +00:00
Randomly choose file download block sizes in the hope of getting rid of FLOOD_WARN errors.
This commit is contained in:
parent
8cae413e6a
commit
05dea702c3
@ -34,7 +34,11 @@ public class Config {
|
||||
public static final String FILE_FILES_BASE = "files";
|
||||
public static final String FILE_STICKER_BASE = "stickers";
|
||||
|
||||
public static final int FILE_DOWNLOAD_BLOCK_SIZE = 1*1024*1024;
|
||||
public static final int[] FILE_DOWNLOAD_BLOCK_SIZES = new int[]{
|
||||
1*1024*1024,
|
||||
512*1024,
|
||||
2*1024*1024,
|
||||
4*1024*1024};
|
||||
|
||||
public static int DELAY_AFTER_GET_MESSAGES = 200;
|
||||
public static int DELAY_AFTER_GET_FILE = 1000;
|
||||
|
@ -38,6 +38,7 @@ import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Random;
|
||||
import java.net.URL;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
@ -221,7 +222,8 @@ public class DownloadManager {
|
||||
int offset = 0;
|
||||
TLFile response;
|
||||
do {
|
||||
TLRequestUploadGetFile req = new TLRequestUploadGetFile(loc, offset, Config.FILE_DOWNLOAD_BLOCK_SIZE);
|
||||
int block_size = Config.FILE_DOWNLOAD_BLOCK_SIZES[new Random().nextInt(Config.FILE_DOWNLOAD_BLOCK_SIZES.length)];
|
||||
TLRequestUploadGetFile req = new TLRequestUploadGetFile(loc, offset, block_size);
|
||||
if (dcID==null) {
|
||||
response = (TLFile) client.executeRpcQuery(req);
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user