public static void
addPeerManager(
final PEPeerManager pm )
{
dispatcher.dispatch(
new AERunnable()
{
public void
runSupport()
{
if ( core == null ){
core = AzureusCoreFactory.getSingleton();
speed_manager = core.getSpeedManager();
}
boolean is_complete = !pm.hasDownloadablePiece();
PEPeerManagerStats pm_stats = pm.getStats();
long up_bytes = pm_stats.getTotalDataBytesSentNoLan() + pm_stats.getTotalProtocolBytesSentNoLan();
if ( is_complete ){
pm.addRateLimiter( limiter, true );
}
pm_map.put( pm, new PMState( pm, is_complete, up_bytes ));
if ( timer == null ){
timer =
SimpleTimer.addPeriodicEvent(
"DMRC",
TIMER_MILLIS,
new TimerEventPerformer()
{
public void
perform(
TimerEvent event )
{
dispatcher.dispatch(
new AERunnable()
{
public void
runSupport()
{
update();