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 Object
implements PeerControlScheduler, CoreStatsProvider, ParameterListener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected long
private static final PeerControlSchedulerImpl[]
protected long
protected boolean
protected long
protected long
Fields inherited from interface com.biglybt.core.peermanager.control.PeerControlScheduler
SCHEDULE_PERIOD_MAX_CATCHUP, SCHEDULE_PERIOD_MILLIS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic PeerControlScheduler
getSingleton
(int id) static void
overrideAllWeightedPriorities
(boolean b) void
overrideWeightedPriorities
(boolean override) void
parameterChanged
(String parameterName) Called, when a parameter has changed.protected abstract void
schedule()
protected void
start()
static void
void
updateStats
(Set types, 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 Details
-
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
-
-
Constructor Details
-
PeerControlSchedulerImpl
protected PeerControlSchedulerImpl()
-
-
Method Details
-
parameterChanged
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
-
overrideAllWeightedPriorities
public static void overrideAllWeightedPriorities(boolean b) -
updateAllScheduleOrdering
public static void updateAllScheduleOrdering() -
start
protected void start() -
updateStats
- 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
-