Class PeerControlSchedulerBasic
java.lang.Object
com.biglybt.core.peermanager.control.impl.PeerControlSchedulerImpl
com.biglybt.core.peermanager.control.impl.PeerControlSchedulerBasic
- All Implemented Interfaces:
ParameterListener
,PeerControlScheduler
,CoreStatsProvider
public class PeerControlSchedulerBasic
extends PeerControlSchedulerImpl
implements CoreStatsProvider
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Object
private long
private int[]
private int[]
private long
private long
private long
private long
private final List<PeerControlSchedulerBasic.instanceWrapper>
private long
private final Random
private boolean
private final SpeedTokenDispenserBasic
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 -
Method Summary
Modifier and TypeMethodDescriptionint[]
int[]
void
register
(PeerControlInstance instance) protected void
schedule()
void
unregister
(PeerControlInstance instance) void
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 Details
-
random
-
instance_map
-
pending_registrations
-
registrations_changed
private volatile boolean registrations_changed -
instance_lock
-
tokenDispenser
-
latest_time
private long latest_time -
last_lag_log
private long last_lag_log -
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
-
-
Constructor Details
-
PeerControlSchedulerBasic
public PeerControlSchedulerBasic()
-
-
Method Details
-
schedule
protected void schedule()- Specified by:
schedule
in classPeerControlSchedulerImpl
-
register
- Specified by:
register
in interfacePeerControlScheduler
-
unregister
- Specified by:
unregister
in interfacePeerControlScheduler
-
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
-