Ограничение пропускной способности с помощью API vuze
Я использую VUze API для создания JAVA-программы, чтобы реализовать несколько экспериментов на Bittorrent. Этот код отлично работает при загрузке торрента
String url = "500mega.torrent";
core = AzureusCoreFactory.create();
core.start();
// System.out.println("Attempting to download torrent at : " + url);
File downloadedTorrentFile = new File(url);
System.out.println("Completed download of : " + url);
System.out.println("File stored as : "
+ downloadedTorrentFile.getAbsolutePath());
File downloadDirectory = new File("downloads"); // Destination directory
if (downloadDirectory.exists() == false)
downloadDirectory.mkdir();
COConfigurationManager.initialise();
GlobalManager globalManager = core.getGlobalManager();
DownloadManager manager = globalManager.addDownloadManager(
downloadedTorrentFile.getAbsolutePath(),
downloadDirectory.getAbsolutePath());
DownloadManagerListener listener = new DownloadStateListener();
manager.addListener(listener);
TransferSpeedValidator.setGlobalDownloadRateLimitBytesPerSecond(100);
System.out.println(TransferSpeedValidator
.getGlobalDownloadRateLimitBytesPerSecond());
globalManager.startAllDownloads();
Однако я не могу найти способ ограничить пропускную способность загрузки / выгрузки. Документация для Vuze так плоха... Любая помощь будет принята с благодарностью.
Благодарю.
1 ответ
Глобальные ограничения скорости являются настройками. Которые хранятся в карте со строковым ключом, для которой вы можете найти множество значений по умолчанию в org.gudy.azureus2.core3.config.impl.ConfigurationDefaults.ConfigurationDefaults()
,
Поскольку все настройки хранятся в единственном экземпляре, их можно установить с помощью статических методов, таких как org.gudy.azureus2.core3.config.COConfigurationManager.setParameter(String, int)
Обратите внимание, что это внутренние API. Они довольно стабильны, но не так, как API плагинов.