Class PeerControlSchedulerImpl
- java.lang.Object
-
- com.biglybt.core.peermanager.control.impl.PeerControlSchedulerImpl
-
- All Implemented Interfaces:
ParameterListener
,PeerControlScheduler
,CoreStatsProvider
- Direct Known Subclasses:
PeerControlSchedulerBasic
,PeerControlSchedulerPrioritised
public abstract class PeerControlSchedulerImpl extends java.lang.Object implements PeerControlScheduler, CoreStatsProvider, ParameterListener
-
-
Field Summary
Fields Modifier and Type Field Description protected long
schedule_count
private static PeerControlSchedulerImpl[]
singletons
protected long
total_wait_time
protected boolean
useWeights
protected long
wait_count
protected long
yield_count
-
Fields inherited from interface com.biglybt.core.peermanager.control.PeerControlScheduler
SCHEDULE_PERIOD_MAX_CATCHUP, SCHEDULE_PERIOD_MILLIS
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PeerControlSchedulerImpl()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static PeerControlScheduler
getSingleton(int id)
static void
overrideAllWeightedPriorities(boolean b)
void
overrideWeightedPriorities(boolean override)
void
parameterChanged(java.lang.String parameterName)
Called, when a parameter has changed.protected abstract void
schedule()
protected void
start()
static void
updateAllScheduleOrdering()
void
updateStats(java.util.Set types, java.util.Map values)
-
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.peermanager.control.PeerControlScheduler
getPeerCount, getPieceCount, getSpeedTokenDispenser, register, unregister, updateScheduleOrdering
-
-
-
-
Field Detail
-
singletons
private static final PeerControlSchedulerImpl[] singletons
-
useWeights
protected boolean useWeights
-
schedule_count
protected long schedule_count
-
wait_count
protected long wait_count
-
yield_count
protected long yield_count
-
total_wait_time
protected long total_wait_time
-
-
Method Detail
-
parameterChanged
public void parameterChanged(java.lang.String parameterName)
Description copied from interface:ParameterListener
Called, when a parameter has changed. The listener could only react if the parameter name is relevant. Or the listener can just read all parameters again.- Specified by:
parameterChanged
in interfaceParameterListener
- Parameters:
parameterName
- the name of the parameter that has changed
-
getSingleton
public static PeerControlScheduler getSingleton(int id)
-
overrideAllWeightedPriorities
public static void overrideAllWeightedPriorities(boolean b)
-
updateAllScheduleOrdering
public static void updateAllScheduleOrdering()
-
start
protected void start()
-
updateStats
public void updateStats(java.util.Set types, java.util.Map values)
- Specified by:
updateStats
in interfaceCoreStatsProvider
-
schedule
protected abstract void schedule()
-
overrideWeightedPriorities
public void overrideWeightedPriorities(boolean override)
- Specified by:
overrideWeightedPriorities
in interfacePeerControlScheduler
- Parameters:
override
- , set to true to disable weighted priorities, false to use user-configureable default
-
-