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 booleanprivate intprivate int(package private) ArrayList<RateControlledEntity> private MovingImmediateAverageprivate MovingImmediateAverageprivate MovingImmediateAverageprivate int(package private) static intprivate final int[]private MovingImmediateAverageprivate MovingImmediateAverageprivate MovingImmediateAverageprivate final int[]private intprivate longprivate intprivate final AEMonitorprivate int(package private) ArrayList<RateControlledEntity> (package private) static intprivate NetworkManagerprivate intprivate intprivate intprivate long(package private) ArrayList<RateControlledEntity> (package private) final intprivate longprivate booleanprivate longprivate final ConcurrentLinkedQueue<RateControlledEntity> private longprivate final AEThread2private final EventWaiter -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddWriteEntity(RateControlledEntity entity) Add the given entity to the controller for write processing.private booleanprivate booleandoNormalPriorityWrite(int tick_count) voidgenerate(IndentWriter writer) intprivate RateControlledEntityprivate booleanprivate longprocessNextReadyNormalPriorityEntity(int tick_count) booleanRemove the given entity from the controller.voidupdateStats(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 -
partition_id
final int partition_id -
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 -
processing_waiting
private volatile boolean processing_waiting -
to_deactivate
-
write_processor_thread
-
write_waiter
-
net_man
-
entity_count
private int entity_count
-
-
Constructor Details
-
WriteController
public WriteController(int _partition_id) Create a new write controller.
-
-
Method Details
-
getBiasDetails
-
generate
- Specified by:
generatein interfaceAEDiagnosticsEvidenceGenerator
-
updateStats
- Specified by:
updateStatsin interfaceCoreStatsProvider
-
writeProcessorLoop
void writeProcessorLoop() -
hasConnections
private boolean hasConnections() -
doNormalPriorityWrite
private boolean doNormalPriorityWrite(int tick_count) -
doHighPriorityWrite
private boolean doHighPriorityWrite() -
processNextReadyNormalPriorityEntity
private long 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()
-