Class PeerControlSchedulerPrioritised
- java.lang.Object
-
- com.biglybt.core.peermanager.control.impl.PeerControlSchedulerImpl
-
- com.biglybt.core.peermanager.control.impl.PeerControlSchedulerPrioritised
-
- All Implemented Interfaces:
ParameterListener
,PeerControlScheduler
,CoreStatsProvider
public class PeerControlSchedulerPrioritised extends PeerControlSchedulerImpl implements CoreStatsProvider
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
PeerControlSchedulerPrioritised.instanceWrapper
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Object
instance_lock
private java.util.Map<PeerControlInstance,PeerControlSchedulerPrioritised.instanceWrapper>
instance_map
private int[]
last_peer_count
private int[]
last_piece_count
private long
latest_time
private long
next_peer_count_time
private long
next_piece_count_time
private long
peer_count_active_time
(package private) java.util.List<PeerControlSchedulerPrioritised.instanceWrapper>
pending_registrations
private long
piece_count_active_time
private boolean
registrations_changed
private SpeedTokenDispenserPrioritised
tokenDispenser
-
Fields inherited from class com.biglybt.core.peermanager.control.impl.PeerControlSchedulerImpl
schedule_count, total_wait_time, useWeights, wait_count, yield_count
-
Fields inherited from interface com.biglybt.core.peermanager.control.PeerControlScheduler
SCHEDULE_PERIOD_MAX_CATCHUP, SCHEDULE_PERIOD_MILLIS
-
-
Constructor Summary
Constructors Constructor Description PeerControlSchedulerPrioritised()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int[]
getPeerCount()
int[]
getPieceCount()
SpeedTokenDispenser
getSpeedTokenDispenser()
void
register(PeerControlInstance instance)
protected void
schedule()
void
unregister(PeerControlInstance instance)
void
updateScheduleOrdering()
-
Methods inherited from class com.biglybt.core.peermanager.control.impl.PeerControlSchedulerImpl
getSingleton, overrideAllWeightedPriorities, overrideWeightedPriorities, parameterChanged, start, updateAllScheduleOrdering, updateStats
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.biglybt.core.stats.CoreStatsProvider
updateStats
-
-
-
-
Field Detail
-
instance_map
private java.util.Map<PeerControlInstance,PeerControlSchedulerPrioritised.instanceWrapper> instance_map
-
pending_registrations
final java.util.List<PeerControlSchedulerPrioritised.instanceWrapper> pending_registrations
-
registrations_changed
private volatile boolean registrations_changed
-
latest_time
private volatile long latest_time
-
instance_lock
private final java.lang.Object instance_lock
-
tokenDispenser
private final SpeedTokenDispenserPrioritised tokenDispenser
-
next_peer_count_time
private long next_peer_count_time
-
next_piece_count_time
private long next_piece_count_time
-
peer_count_active_time
private volatile long peer_count_active_time
-
piece_count_active_time
private volatile long piece_count_active_time
-
last_peer_count
private volatile int[] last_peer_count
-
last_piece_count
private volatile int[] last_piece_count
-
-
Method Detail
-
schedule
protected void schedule()
- Specified by:
schedule
in classPeerControlSchedulerImpl
-
register
public void register(PeerControlInstance instance)
- Specified by:
register
in interfacePeerControlScheduler
-
unregister
public void unregister(PeerControlInstance instance)
- Specified by:
unregister
in interfacePeerControlScheduler
-
getSpeedTokenDispenser
public SpeedTokenDispenser getSpeedTokenDispenser()
- Specified by:
getSpeedTokenDispenser
in interfacePeerControlScheduler
-
updateScheduleOrdering
public void updateScheduleOrdering()
- Specified by:
updateScheduleOrdering
in interfacePeerControlScheduler
-
getPeerCount
public int[] getPeerCount()
- Specified by:
getPeerCount
in interfacePeerControlScheduler
-
getPieceCount
public int[] getPieceCount()
- Specified by:
getPieceCount
in interfacePeerControlScheduler
-
-