Class WriteController
java.lang.Object
com.biglybt.core.networkmanager.impl.WriteController
- All Implemented Interfaces:
CoreStatsProvider
,AEDiagnosticsEvidenceGenerator
public class WriteController
extends Object
implements CoreStatsProvider, AEDiagnosticsEvidenceGenerator
Processes writes of write-entities and handles the write selector.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static boolean
private int
private int
(package private) ArrayList<RateControlledEntity>
private MovingImmediateAverage
private MovingImmediateAverage
private MovingImmediateAverage
private int
(package private) static int
private final int[]
private MovingImmediateAverage
private MovingImmediateAverage
private MovingImmediateAverage
private final int[]
private int
private long
private int
private final AEMonitor
private int
(package private) ArrayList<RateControlledEntity>
(package private) static int
private NetworkManager
private int
private int
private int
private long
(package private) ArrayList<RateControlledEntity>
private long
private long
private long
private final EventWaiter
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addWriteEntity
(RateControlledEntity entity) Add the given entity to the controller for write processing.private boolean
private boolean
doNormalPriorityWrite
(int tick_count) void
generate
(IndentWriter writer) int
private RateControlledEntity
private boolean
private int
processNextReadyNormalPriorityEntity
(int tick_count) boolean
Remove the given entity from the controller.void
updateStats
(Set types, Map values) (package private) void
-
Field Details
-
IDLE_SLEEP_TIME
static int IDLE_SLEEP_TIME -
AGGRESIVE_WRITE
static boolean AGGRESIVE_WRITE -
BOOSTER_GIFT
static int BOOSTER_GIFT -
normal_priority_entities
-
boosted_priority_entities
-
high_priority_entities
-
entities_mon
-
next_normal_position
private int next_normal_position -
next_boost_position
private int next_boost_position -
next_high_position
private int next_high_position -
booster_process_time
private long booster_process_time -
booster_normal_written
private int booster_normal_written -
booster_boost_written
private int booster_boost_written -
booster_stat_index
private int booster_stat_index -
booster_normal_writes
private final int[] booster_normal_writes -
booster_gifts
private final int[] booster_gifts -
booster_boost_average
-
booster_normal_average
-
booster_boost_avail_average
-
booster_normal_avail_average
-
booster_boost_data_average
-
booster_normal_data_average
-
aggressive_np_normal_priority_count
private int aggressive_np_normal_priority_count -
aggressive_np_high_priority_count
private int aggressive_np_high_priority_count -
process_loop_time
private long process_loop_time -
wait_count
private long wait_count -
progress_count
private long progress_count -
non_progress_count
private long non_progress_count -
write_waiter
-
net_man
-
entity_count
private int entity_count
-
-
Constructor Details
-
WriteController
public WriteController()Create a new write controller.
-
-
Method Details
-
getBiasDetails
-
generate
- Specified by:
generate
in interfaceAEDiagnosticsEvidenceGenerator
-
updateStats
- Specified by:
updateStats
in interfaceCoreStatsProvider
-
writeProcessorLoop
void writeProcessorLoop() -
hasConnections
private boolean hasConnections() -
doNormalPriorityWrite
private boolean doNormalPriorityWrite(int tick_count) -
doHighPriorityWrite
private boolean doHighPriorityWrite() -
processNextReadyNormalPriorityEntity
private int processNextReadyNormalPriorityEntity(int tick_count) -
getNextReadyHighPriorityEntity
-
addWriteEntity
Add the given entity to the controller for write processing.- Parameters:
entity
- to process writes for
-
removeWriteEntity
Remove the given entity from the controller.- Parameters:
entity
- to remove from write processing
-
getEntityCount
public int getEntityCount()
-