Download speed_download = plugin.getDownloadManager().addDownloadStopped( torrent, blankTorrentFile ,blankFile);
speed_download.setBooleanAttribute(speedTestAttrib,true);
DownloadManager core_download = PluginCoreUtils.unwrap( speed_download );
core_download.setPieceCheckingEnabled( false );
// make sure we've got a bunch of upload slots
core_download.getDownloadState().setIntParameter( DownloadManagerState.PARAM_MAX_UPLOADS, 32 );
core_download.getDownloadState().setIntParameter( DownloadManagerState.PARAM_MAX_UPLOADS_WHEN_SEEDING, 32 );
if ( use_crypto ){
core_download.setCryptoLevel( NetworkManager.CRYPTO_OVERRIDE_REQUIRED );
}
core_download.addPeerListener(
new DownloadManagerPeerListener()
{
public void
peerManagerWillBeAdded(
PEPeerManager peer_manager )
{
DiskManager disk_manager = peer_manager.getDiskManager();
DiskManagerPiece[] pieces = disk_manager.getPieces();
int startPiece = setStartPieceBasedOnMode(testMode,pieces.length);
for ( int i=startPiece; i<pieces.length; i++ ){
pieces[i].setDone( true );
}
}
public void
peerManagerAdded( PEPeerManager peer_manager )
{
}
public void
peerManagerRemoved(PEPeerManager manager )
{
}
public void
peerAdded(PEPeer peer )
{
}
public void
peerRemoved(PEPeer peer )
{
}
});
speed_download.moveTo( 1 );
speed_download.setFlag( Download.FLAG_DISABLE_AUTO_FILE_MOVE, true );
core_download.initialize();
core_download.setForceStart( true );
TorrentSpeedTestMonitorThread monitor = new TorrentSpeedTestMonitorThread( speed_download );
monitor.start();